C++ IDE 添加外部库(以NTL库为例)
2017-05-03 本文已影响0人
ifeelok
以下体验三种C++IDE Anjuta, Qt creator以及codelite装外部库NTL
Anjuta
Anjuta外部库的配置截图右键target,选择性质(Properties),设置链接器和编译器的参数
linker flags里面填 -lgmp -lntl -lm
C preprocessor flags里面填 库的头文件(header files)所在的路径位置
C++ compiler flags 里面可以填其他的选项参数,如-g -O2之类的
这样设置后才能成功地运用NTL库函数
这里的填写可以参考Anjuta的用户手册(User's mannual)
Anjuta是本文提及的三种IDE里面最简单原始的一种,开发算法完全够用,作项目的话就趴窝了。
Qt creator
右键项目,add library...
选择外部库
qt add libarary.png
填上库文件(绝对路径),include path里填头文件所在的路径
summary of qt.pngQt creator的填库向导(wizard)好评
CodeLite
Google anjuta or qt creator add library,基本上文档很快能找到,Codelite的文档没有直接搜到,在http://stackoverflow.com/questions/34121370/how-do-i-add-libraries-to-codelite-projects 上看到了解决方案,同时也给出了codelite的文档链接,codelite的文档写得比较啰嗦,比前两个IDE的帮助文档难读一些。
但设置也和前两个IDE大同小异,都是可以右键项目,然后去Setting里找Compiler和Linker的设置
总结
基本上,用外部库都是对项目右键去添加库,处理好编译器和链接器的相关选项,就能成功用库。三种IDE,Qt creator是最好用的,codelite的括号匹配用着不是很舒服,anjuta比较初级。以上三种IDE相较于Visual Studio或者Clion都无比轻量,基本上这些轻量的IDE用着顺手,功能熟练了,像Visual Studio这种庞然大物用着也不会犯怵了。
上面库能否成功使用,用以下代码测试:
#include <NTL/ZZ.h>
#include <NTL/vector.h>
using namespace std;
using namespace NTL;
int main()
{
Vec<ZZ> v;
cin >> v;
long n = v.length();
v.SetLength(2*n);
long i;
for (i = 0 ; i < n; i++)
v[n+i] = v[n-1-i];
cout << v << "\n";
}
/*if we type in
[1 -2 3]
as input, the output is
[1 -2 3 3 -2 1]
*/