QT
我用的是Fedora core6,当我用QT编程的时候,要引用一个动态链接库libcantrolcan.so文件里面的VCI_Close()函数,在QT工程里面加入了-L../liberary -llibcontrolcan(其中/liberary表示当前工程文件夹下的文件夹),然后用qmake和make编译后提示undefined reference to "VCI_Close() "以及/usr/bin/ld :connot find -llibcontrolcan我的头文件 "controlcan.h "已被加入到工程文件里面了,并且可以访问 "controlcan.h "里面的变量,但是就是不能访问里面的函数,哪位大虾知道怎么解决阿?
------解决方案--------------------.so文件只能动态加载,你引用的应该是.a文件,静态加载
------解决方案--------------------如果libcantrolcan.so文件在你的../liberary 目录下的话应该是:
-L../liberary -lcontrolcan
如果在系统目录下就不用加路径-L../liberary了
------解决方案--------------------SO是动态库..编译的时候只要有头文件.不需要要包括它.
估计你这个问题是,C++里面引用C的函数造成的..
头文件里加上extern "C "试一下..