【发布时间】:2014-07-14 14:01:11
【问题描述】:
假设我正在创建一个使用某个库的项目,我必须在链接时提供该库的路径。在命令行或makefile中我可能有:
g++ ... -L/path/to/mylibrary
我还将把这个项目发送给其他想要使用它的人。他们系统上的路径可能不一定与我的相同。他们可能一起使用不同的文件路径。
如何确保库的路径适用于我的计算机和项目的接收者?
【问题讨论】:
-
确保在 makefile 中有
LIBDIR = /path/to/mylibrary作为定义,并且在 makefile 的链接规则中使用-L${LIBDIR}。同样,您应该为可能需要更改的所有内容使用宏(例如,您需要为您的 C++ 编译器名称使用宏——通常是 CXX)。如果需要,您的同事可以编辑 makefile 中的宏定义或运行make LIBDIR=/other/path/to/library。 -
同样你应该使用 ${CXX} 而不是直接使用 g++。另请注意,make 有很多隐含规则,您应该使用它们