toolc: 准备用QT写一个界面,用界面读取文本数据,具体计算的方法用C++编好的动态库中的函数执行,最后把计算的结果显示在界面上,请问怎么调用?最好有代码或者例子说明。不胜感激
------------------------------------------
XChinux: 有没有头文件?有头文件的话,将头文件包含进来,然后在.pro中加上
LIBS += -L/your/lib/path -lyour_lib_name
就可以了。 也可以用QLibrary来加载。
------------------------------------------
zhy282289: 用QLibrary来加载了,实在不行你直接用C++里的加载方法不就行了
------------------------------------------
toolc: 好,谢谢,试试去
------------------------------------------
时代海豚: 编译和链接都通过了,运行时报错,请大虾看看这是怎么回事? /home/lenovo/qtpro/dll_test-build-desktop/dll_test: error while loading shared libraries: libTax.so.1: cannot open shared object file: No such file or directory
qtcreator生成的动态链接库文件和软链接都在/home/lenovo/qtpro/Tax-build-desktop/里面, dll_test的最后 unix:!macx:!symbian: LIBS += -L$$PWD/../Tax-build-desktop/ -lTax INCLUDEPATH += $$PWD/../Tax-build-desktop DEPENDPATH += $$PWD/../Tax-build-desktop 之前没有这一段,链接时报错,加上之后就变成上面提到的错误了
------------------------------------------
XChinux: $export LD_LIBRARY_PATH=/your_shrared_lib_path:$LD_LIBRARY_PATH $/home/lenovo/qtpro/dll_test-build-desktop/dll_test
明白了嘛?要将共享库的路径加入到LD_LIBRARY_PATH路径中去。
------------------------------------------
时代海豚: 谢谢版主,能调通了! 但是有个问题,ubuntu取消了LD_LIBRARY_PATH这个环境变量,我不知道该怎么给这个变量设置默认值,每次都手动export太麻烦了吧…… 不知道版主对ubuntu熟不熟啊?
------------------------------------------
XChinux: 写shell脚本做辅助啊。 $vi dll_test.sh
引用
#!/bin/sh exedir=`dirname $0` export LD_LIBRARY_PATH=$exedir/lib:$LD_LIBRARY_PATH cd $exedir ./dll_test $1
$chmod +x dll_test.sh
------------------------------------------
时代海豚: ^_^~~谢谢版主啦~~果然经验丰富啊~~ |
【转】QT怎么调用C++的动态库
最新推荐文章于 2024-06-12 08:38:36 发布