大佬教程收集整理的这篇文章主要介绍了c – 将netCDF与gcc链接和使用,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的make文件
NETCDF = -L/usr/lib -lnetcdf_c++ WILXAPP = -Lsrc src/wilxtest.cpp -o bin/Debug/WilxAstakTest Debug: g++ -Wall -ggdb $(NETCDF) $(WILXAPp)
#include <iostream> #include <netcdfcpp.h> int main(int argc,char* argv[]) { NcFile DATAFILE("simple_xy.nc",NcFile::replacE); }
我得到了这个:
undefined reference to `NcFile::NcFile(char const*,NcFile::FileMode,unsigned long*,unsigned long,NcFile::FileFormat)'|
无论如何,我怀疑你的问题是订单在链接线上很重要.链接器只会遍历其库等一次,所以如果在链接行上出现LATER的东西需要在链接行上更早出现的东西,则会失败.您必须订购链接线,以便首先需要其他东西的东西,以及稍后需要的东西.
一些其他提示:-L选项仅提供库的@L_801_15@路径,因此您不需要-Lsrc,因为您没有从src目录链接的库.此外,您不需要添加-L /usr/lib(事实上,这是一个非常糟糕的主意),因为编译器已经按正确的顺序@L_801_15@系统目录,并且在许多系统上(例如,支持多个体系结构)/usr/lib不是正确的地方.
最后,在编写makefile时,请始终记住配方应该创建目标的确切文件名:对于GNU,您可以在所有情况下使用$@.并且您需要使用源文件作为先决条件,否则您可能不会使用make而只是编写sHell脚本.试试这个:
NETCDF = -lnetcdf_c++ WILXAPP = src/wilxtest.cpp CXX = g++ CXXFLAGS = -Wall -ggdb bin/Debug/WilxAstakTest: $(WILXAPp) $(CXX) $(CXXFLAGS) -o $@ $^ $(NETCDF)
以上是大佬教程为你收集整理的c – 将netCDF与gcc链接和使用全部内容,希望文章能够帮你解决c – 将netCDF与gcc链接和使用所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。