将“make”命令链接到 lib 并包含

将“make”命令链接到 lib 并包含

我想使用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,它通常会使用像 这样的变量CFLAGSLIBSLDFLAGS将额外的选项传递给编译器。您可以在运行时设置这些makeLIBS=-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

相关内容