在 MakeFile 中包含 STXXL 库
Including STXXL library in the MakeFile
我试图将 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 Make 中的 non-standard 位置使用第三方 C++ 库,常规步骤是:
将第 3 方库的路径 headers 添加到您的 C++ 预处理器标志中。例如
CPPFLAGS += -I/3rd-party/include
将第 3 方 shared/staric 库的路径添加到您的链接器标志和库本身。假设库名为 lib3rd-party.so
或 lib3rd-party.a
,例如
LDFLAGS += -L/3rd-party/lib -Wl,-rpath=/3rd-party/lib -l3d-party
我试图将 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 Make 中的 non-standard 位置使用第三方 C++ 库,常规步骤是:
将第 3 方库的路径 headers 添加到您的 C++ 预处理器标志中。例如
CPPFLAGS += -I/3rd-party/include
将第 3 方 shared/staric 库的路径添加到您的链接器标志和库本身。假设库名为
lib3rd-party.so
或lib3rd-party.a
,例如LDFLAGS += -L/3rd-party/lib -Wl,-rpath=/3rd-party/lib -l3d-party