【转】QT怎么调用C++的动态库
2012-04-24 19:22
169 查看
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 ------------------------------------------ 时代海豚: ^_^~~谢谢版主啦~~果然经验丰富啊~~ |
相关文章推荐
- C++ Qt 调用动态库 插件
- C++调用C#写的动态库
- 22 Qt for android里调用so动态库
- C#调用C++动态库
- 一起看代码来玩玩QT之14 15 16(动态库静态库的实现和调用)
- QT调用动态库的方法
- QT中调用之前已用c++写好的程序
- Linux系统下Qt调用c++编译的库
- Unity3D中C#调用C++动态库总结
- 6.关于QT中的内存管理,动态的制作,动态库的调用,静态库的制作
- 动态调用C++动态库
- c++调用动态库失败解决办法
- C#调用C++动态库
- QT 5.6 C++调用python头文件问题
- C# 调用C/C++动态库随记1
- QT调用C++写的DLL
- Qt/c++调用python避坑指南
- c# 调用c/c++ 动态库的办法
- C#调用C++动态库(dll)