我想使用make
命令并将其链接到包含和库路径。
我在用 :
make -I /path_to_include - L /path_to_lib
但它给了我:
nothing to be done for /path_to_lib
(路径正确。)
答案1
make
不接受类似选项-L /path/to/somewhere
- 这些是需要提供给编译器的参数,但make
不会将其传递下去。您可能需要Makefile
适当地编辑。
根据Makefile
,它通常会使用像 这样的变量CFLAGS
,LIBS
或LDFLAGS
将额外的选项传递给编译器。您可以在运行时设置这些make
:LIBS=-lmylib LDFLAGS=-L/path/to/mylib make
。这依赖于 是否Makefile
已编写使用此类变量,但是,由系统生成的autoconf
可能会使用,但手写的 可能不会。
答案2
您可以使用下面的“make”命令来链接 lib 和 include,
make <filename_without_extension> LDLIBS="-l<lib1> -l<lib2>"
假设您有 server1.cpp 文件要使用 make 命令进行编译,
make server1 LDLIBS="-lcpprest -lpthread -lssl -lcrypto" LDFLAGS="-L/usr/lib/" CXXFLAGS="-I/usr/include/"
输出将扩展编译命令为,
g++ -I/usr/include/ -L/usr/lib/ server1.cpp -lcpprest -lpthread -lssl -lcrypto -o server1