我正在尝试将STXXL库安装到this答案之后的自定义路径,以这种方式为cmake
提供前缀:cmake -DCMAKE_INSTALL_PREFIX=/usr . && make all install
当我运行测试时,它们似乎运行良好。但是我想将STXXL包含在另一个MakeFile中并编译该项目。在那个MakeFile中有一行STXXL_CONFIG = /opt/stxxl/stxxl.mk
我相信配置文件stxxl.mk
来自旧的基于make
的安装(我也无法在系统中找到它)。我想知道如何修改此文件以包括STXXL库并编译自定义项目。
在不修改MakeFile
中的上述语句的情况下,出现了以下错误:undefined reference to 'stxxl::get_next_seed()' collect2: error: ld returned 1 exit status
不用说,我没有root用户访问权限,但遗憾的是,MakeFiles也没有很好的背景知识。这不是Makefile with STXXL的重复项
最佳答案
要从GNU中非标准位置使用第三方C ++库,请执行以下常规步骤:
将第3方库标头的路径添加到C ++预处理器标志。例如。
CPPFLAGS += -I/3rd-party/include
将第三方共享/星标库的路径添加到链接器标志和库本身。假设该库名为
lib3rd-party.so
或lib3rd-party.a
,例如LDFLAGS += -L/3rd-party/lib -Wl,-rpath=/3rd-party/lib -l3d-party