我试图将{4}}回复后的STXXL库安装到自定义路径,以这种方式向cmake
提供前缀:
cmake -DCMAKE_INSTALL_PREFIX=/usr . && make all install
当我运行测试时,它们似乎工作正常。但是我想在不同的MakeFile中包含STXXL并编译该项目。在那个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的良好背景。这与this
不重复答案 0 :(得分:1)
从GNU中的非标准位置使用第三方C ++库制定常规步骤:
将第三方库头的路径添加到C ++预处理器标志中。 E.g。
CPPFLAGS += -I/3rd-party/include
将第三方共享/星型库的路径添加到链接器标志和库本身。假设该库名为lib3rd-party.so
或lib3rd-party.a
,例如
LDFLAGS += -L/3rd-party/lib -Wl,-rpath=/3rd-party/lib -l3d-party