当前位置: 技术问答>linux和unix
刚接触Linux,关于linux下c++编程的问题,请高手解答,多谢了!
来源: 互联网 发布时间:2015-02-21
本文导语: 我想在c++程序里调用lib库的函数,这个库是用来画窗体及画图的,头文件是"mpe.h" 我在程序graphics.cpp的开头加上 #include "mpe.h" 在程序体中调用如MPE_Open_graphics()这样的函数 用g++ -I/root/mpe/include -c graphics.cpp g++ -L/root...
我想在c++程序里调用lib库的函数,这个库是用来画窗体及画图的,头文件是"mpe.h"
我在程序graphics.cpp的开头加上
#include "mpe.h"
在程序体中调用如MPE_Open_graphics()这样的函数
用g++ -I/root/mpe/include -c graphics.cpp
g++ -L/root/mpe/lib -o graphics graphics.o 编译
但是提示说没有定义MPE_Open_graphics()
我在PATH中也设置了/root/mpe/include 和/root/mpe/lib
而且如果写c程序,用gcc编译就通过,而且程序运行正常
请问怎样在c++程序中调用这些函数,用g++编译需要什么参数?
我在程序graphics.cpp的开头加上
#include "mpe.h"
在程序体中调用如MPE_Open_graphics()这样的函数
用g++ -I/root/mpe/include -c graphics.cpp
g++ -L/root/mpe/lib -o graphics graphics.o 编译
但是提示说没有定义MPE_Open_graphics()
我在PATH中也设置了/root/mpe/include 和/root/mpe/lib
而且如果写c程序,用gcc编译就通过,而且程序运行正常
请问怎样在c++程序中调用这些函数,用g++编译需要什么参数?
|
如果你写c,可以调用通过,我想问题应该是出在:你把 extern "C" 写成了 extern C
在这里面的 ""是必需的。
如果仍然出问题,建议你 用 -lxxx 加上库名
在这里面的 ""是必需的。
如果仍然出问题,建议你 用 -lxxx 加上库名
|
那个头文件有点问题
在函数说明前加上extern "C"就OK
在函数说明前加上extern "C"就OK
|
>> 但是提示说没有定义MPE_Open_graphics()
是链接错吧(ld提示的),用-lxxx加上库名试试。
是链接错吧(ld提示的),用-lxxx加上库名试试。
|
就是你没有那个函数的实现方法,只声明了他。
|
c和c++库不一样吧,可以指定c++库mpe.h的绝对路径试一下。我也初学。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。