c–Linux makefile中的未定义引用

c–Linux makefile中的未定义引用,第1张

概述我想在linux下构建我的应用程序,但我无法使用我的makefile来实现它.问题是我要链接的静态库.我得到了很多“未定义的引用”错误消息,如:undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char>

我想在linux下构建我的应用程序,但我无法使用我的makefile来实现它.
问题是我要链接的静态库.我得到了很多“未定义的引用”错误消息,如:

undefined reference to `std::basic_string

要么

undefined reference to `cgicc::Cgicc::Cgicc(cgicc::Cgiinput*)'

这是我的makefile:

CXX = gccINCL_CGICC = ../cgicc-3.2.9INCL_OPENSSL = ../openssl-1.0.0e/includeINCL_LOG4CPLUS = ../log4cplus-1.0.4/includeINCL_BOOST = ../boost_1_46_1INCLUDES = -I$(INCL_CGICC) -I$(INCL_OPENSSL) -I$(INCL_LOG4CPLUS) -I$(INCL_BOOST)CXXFLAGS = -Wall -D_liNUX -DVERSNUM=2 -DVERSMAJOR=0 -DVERSMInor=0 $(INCLUDES)TARGET = myappOBJs = Main.o all: $(TARGET)strip -s $

问题是我不知道makefile.我只是复制了一个现有的并尝试调整它.似乎没有用,我找不到包含静态库的示例makefile.最佳答案CXX = gcc

您使用gcc而不是g进行链接,因此默认情况下不会链接-lstdc.
请注意,使用gcc编译C源工作正常,因为在这种情况下会隐式调用g. 总结

以上是内存溢出为你收集整理的c – Linux makefile中的未定义引用全部内容,希望文章能够帮你解决c – Linux makefile中的未定义引用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:http://outofmemory.cn/yw/1047815.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)