
如果仅是Qt的Gui程序,不需要创建Ice的adapter,也有几种方法:
1、直接在Qt的函数里,proxy->dosth(),遇到超时函数,界面无响应;这种方法简单直接;
2、调用放在线程里,注意如果要刷新GUI,则需要用qApp->postEvent()这也是比较简单的方法;
3、用Ice的异步调用,可以参考Ice的相关文档
------解决方案--------------------
3.4以后支持 AMI + dispatch
第一步,自己找到这个库。
库一般放在系统默认处或者安装到特定地方。
Linux 系统默认库放在:
/lib/usr/lib
/usr/local/lib
...
1
2
3
4
5
安装到特定地方,如我 Mac 的用 Homebrew 安装到:
/usr/local/Cellar/ice/3.7.0/lib
1
2
第二步:添加路径
添加库一般以下三种方法任选其一:
系统环境变量添加
系统级:修改/etc/profile或者/etc/bashrc
用户级:修改~/.bashrc或者~/.bash_profile
#添加库的bin文件夹路径export PATH =$PATH:$HOME/bin#添加到gcc头文件export C_INCLUDE_PATH=$C_INCLUDE_PATH:/MyLib#添加到g++头文件路径export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/MyLib#添加到动态库export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/MyLib#添加到静态库export LIBRARY_PATH=$LIBRARY_PATH:/MyLib1234567891011121314
IED 编译环境添加
因 IDE 不同而不同,如 Qt 在项目-构建设置-构建环境处添加
具体请参考:QT 无法链接动态库 dyld library not loaded … libhdf5.100.dylib
代码添加
# 如 Qt pro 文件添加LIBS += -L/usr/local/Cellar/ice/3.7.0/lib -lIceUtil
1
2
3
这样,IDE就能找到库啦!
方法二:手动编译添加库
若是你的库不存在,也就是说安装的时候没有编译生成这个库文件或者安装后莫名的不见了,这样只能重新安装或者手动编译添加库。以下讲手动编译添加库。
思路是:找库,如果找不到,手动编译生成库文件,拷贝到库文件目录,用上面添加路径的方法添加路径让IDE找到。
第一步:找库
对的,还是要找找的,不然怎么知道没有呢![捂脸]
可以在一些常放库的文件夹下找,尽量靠近根目录,如:
sudo find /usr -name "libIceUtil*"12扩展:
如果找到名为libIceUtil.3.7.0.a的库,但是找不到libIceUtil.a的库,可以试着拷贝libIceUtil.3.7.0.a库成名为libIceUtil.a的库
cp ./libIceUtil.3.7.0.a ./libIceUtil.a12这个方法适用于:
同版本下,缺失没版本号的库文件
不同版本下,库文件没因为版本的改变而发生改变
第二步,手动编译
#因为IceUtil是Ice的库,所以克隆下Ice来git clone https://github.com/zeroc-ice/ice.git
#因为我需要的是C++版
cd ice/cpp
#直接编译
make123456789
编译好后就能找到这个库了:cpp/lib/libIceUtil.a
其他库请参考官方的编译安装教程
附:Building Ice for C++ on macOS
第三步,拷贝库到安装后的文件夹
到ice/cpp/lib目录下:
cp ./libIceUtil.a /usr/local/Cellar/ice/3.7.0/lib12第四步:添加路径
上面已经说了三种方法,这里直接代码添加:
# 如 Qt pro 文件添加LIBS += -L/usr/local/Cellar/ice/3.7.0/lib -lIceUtil123
这样就解决了!
唠叨
以上这些方法基本上能完美解决这种库文件无法找到问题,如果有本文没有提及的欢迎留言讨论。
https://www.cnblogs.com/gusseMe/articles/5444284.html
1)首先在程序的源码文件夹下边建立一个存放资源文件(比如图片)的文件夹.
建立资源文件夹的位置不要选错了。
2)然后在右键当前项目,然后选"择添加新文件"
3)然后选择"Qt资源文件"
4)然后输入资源文件的名字(以.qrc后缀结尾)
建立好资源文件之后,就为资源文件添加“前缀”
5)然后把这个前缀修改为/
6)接下来就说往其中添加图片了(静态的我一般添加为png)
7)添加好资源图片的样子
8)使用资源图片,主要是路径
newAction->setIcon(QIcon(":/images/new.png"))
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)