ありません、私はGNUコンパイラを使用して、私のC++コードをコンパイルしようとしているLinuxで次のMakefileエラー:ブースト/ regex.hpp:そのようなファイルやディレクトリは
を使用してCXX=gcc #icpc
RM=rm -f
CPPFLAGS=-g -O3 -fopenmp
CFLAGS= -Wall -c
OPENMP = -fopenmp
BIN = theVeecode_$(CXX)
LIBS= -L /path-to-boost/boost_1_53_0/stage/lib/ -lboost_regex
CPPSRCS=mathtools.cpp time_.cpp read_input.cpp vee_ao_calc.cpp vee_mo_calc.cpp write_int2e.cpp memory_check.cpp
OBJS=$(subst .cpp,.o,$(CPPSRCS))
OBJS+=$(COBJS)
all: $(BIN)
$(BIN): $(OBJS)
$(CXX) main.cpp $(OPENMP) -o $(BIN) $(OBJS) $(LIBS)
clean:
$(RM) $(OBJS) $(BIN)
dist-clean: clean
$(RM) $(BIN)
私はmakeコマンドを実行すると、私が手次のエラーメッセージ:
gcc -g -O3 -fopenmp -c -o read_input.o read_input.cpp
read_input.cpp:9:27: error: boost/regex.hpp: No such file or directory
read_input.cpp: In function 'void input::read_n_occ()':
read_input.cpp:95: error: 'boost' has not been declared
read_input.cpp:95: error: 'regex_search' was not declared in this scope
make: *** [read_input.o] Error 1
read_input.cppファイルは、ライブラリ・パス「/ P
#... // other includes
#include <boost/regex.hpp>
using namespace std;
namespace xxx
{
//some code here
}
で始まりますboost_1_53_0/stage/lib/"には、 libboost_regex.a、libboost_regex.soおよびlibboost_regex.so.1.53.0というファイルが含まれています。
コンパイラがライブラリファイルを見つけられない理由を理解できません。なぜ誰もそれが動作していないとどのようにそれを修正するためのアイデアを持っていますか?
ありがとうございます。
は、ディレクトリが含まブーストを逃したことができますか? – P0W
はい、そうです。以前は別のマシンで同じMakefileを使ってコードをコンパイルしていたので混乱しました。なぜそれがうまくいかなかったのかはわかりませんでした。とにかく、それは今働いている。 – user3244013