首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在CLion中链接库

如何在CLion中链接库
EN

Stack Overflow用户
提问于 2018-05-15 22:25:49
回答 1查看 7.7K关注 0票数 1

我正在尝试为ZZ类使用NTL库,并且希望使用专用函数。不幸的是,在编译过程中,我遇到了很多错误:

代码语言:javascript
复制
[100%] Linking CXX executable hpc5
CMakeFiles/hpc5.dir/main.cpp.o: In function `findX(NTL::ZZ, NTL::ZZ, NTL::ZZ)':
/home/rooter/CLionProjects/hpc5/main.cpp:44: undefined reference to `find_xi(NTL::ZZ, NTL::ZZ)'
/home/rooter/CLionProjects/hpc5/main.cpp:57: undefined reference to `chinese_remainder(NTL::ZZ*, NTL::ZZ*, NTL::ZZ)'
/home/rooter/CLionProjects/hpc5/main.cpp:58: undefined reference to `NTL::operator<<(std::ostream&, NTL::ZZ const&)'
CMakeFiles/hpc5.dir/main.cpp.o: In function `NTL::ZZ::ZZ(NTL::ZZ const&)':
/usr/include/NTL/ZZ.h:58: undefined reference to `_ntl_gcopy(void*, void**)'
CMakeFiles/hpc5.dir/main.cpp.o: In function `NTL::ZZ::operator=(NTL::ZZ const&)':
/usr/include/NTL/ZZ.h:73: undefined reference to `_ntl_gcopy(void*, void**)'
CMakeFiles/hpc5.dir/main.cpp.o: In function `NTL::ZZ::operator=(long)':
/usr/include/NTL/ZZ.h:75: undefined reference to `_ntl_gintoz(long, void**)'

我在我的linux薄荷上安装了libntl-dev,将set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -lntl" )添加到我的CMakeLists.txt中,并设置了CMake选项-lntl,但没有任何效果。我如何连接这个图书馆?

我的CMakeLists.txt包含:

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.10)
project(hpc5)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -lntl" )

add_executable(hpc5 main.cpp)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-16 09:07:14

如果要使用CMake链接到运行时库,则需要使用命令。例如,您可以按以下方式更改CMakeLists.txt文件:

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.10)
project(hpc5)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall" )

add_executable(hpc5 main.cpp)
target_link_libraries(hpc5 ntl)

这是假设CMake能够在您的系统中找到NTL库。

编辑:修正可执行名称错误。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50365936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档