NAG库Mark 26编译

时间:2017-11-06 21:24:25

标签: c++ compiler-errors

我以前有NAG C Library Mark 23,而我以前用

编译
g++ -std=c++11  -lm file.cpp -o output.o -I/opt/NAG/clmi623dgl/include 
/opt/NAG/clmi623dgl/lib/libnagc_nag.a -L/opt/NAG/clmi623dgl/lib -lpthread

一切都很好。现在我正在使用NAG Mark 26,我正在尝试使用

进行编译
g++ -std=c++11  -lm file.cpp -o output.o -I/Users/user/NAG/clmi626ddl/include 
-L/Users/user/NAG/clmi626ddl/lib -lpthread
/Users/user/NAG/clmi626ddl/lib/libnagc_mkl.a  
/Users/user/NAG/clmi626ddl/lib/libnagc_nag.a

然而我收到错误

Undefined symbols for architecture x86_64:
"_CFDictionarySetValue", referenced from:
  _Ff75173be03ba8abe1a864da3d5eb72fd in libnagc_mkl.a(p01zzfn.o)
"_CFNumberCreate", referenced from:
  _Ff75173be03ba8abe1a864da3d5eb72fd in libnagc_mkl.a(p01zzfn.o)

...

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see 
invocation)

使用NAG标记26进行正确编译需要做什么?

1 个答案:

答案 0 :(得分:0)

我在文件夹NAG / clmi626ddl / scripts中找到了解决方案:

英特尔编译器的

icpc -I/Users/user/NAG/clmi626ddl/include 
/Users/user/NAG/clmi626ddl/lib/libnagc_nag.a -framework IOKit 
-framework CoreFoundation /Users/user/NAG/clmi626ddl/rtl/libifcoremt.a 
-lpthread -lc++ -lm file.cpp -o file.o -std=c++11 -O3 -lm

for clang:

clang -I/Users/user/NAG/clmi626ddl/include
/Users/user/NAG/clmi626ddl/lib/libnagc_nag.a -framework IOKit 
-framework CoreFoundation /Users/user/NAG/clmi626ddl/rtl/libifcoremt.a 
/Users/user/NAG/clmi626ddl/rtl/libimf.a 
/Users/user/NAG/clmi626ddl/rtl/libirc.a 
/Users/user/NAG/clmi626ddl/rtl/libsvml.a -lpthread -lm -lstdc++