startalkIM / startalk_backup

Startalk is a high-performace IM software for business. It has been stably used in Qunar for more than 4 years, providing services as well as consultation after and before sales to business. Startalk is applicable to multiple scenarios, such as office automation, business services, and first-party SDKs for IM scenes
MIT License
17 stars 6 forks source link

编译StarTalk遇到的问题及总结 #3

Open lirui1111 opened 4 years ago

lirui1111 commented 4 years ago

                   编译StarTalk遇到的问题及总结

1、开发环境的准备(windows)

Qt 5.9.6及以上(这里我安装的是5.13.2)
注意!!!安装时需要安装 QtWebEngine 和 Qt Network Authorization!! 安装完Qt后不要配置Qt的环境变量!!!
Visual Studio 2017/2019
Cmake
Clion
(protobuf、zlib、openssl、curl这几个库源码中已经包含编译好的文件,qzxing、quazip、EventBus、cJson这几个源码中也有编好的包,统统在Depends目录下)

2、编译的步骤和有可能遇到的问题

编译的话建议使用Clion,使用Clion打开源码文件,修改startalk_pc目录下的CMakeList.txt文件。

fuck

将对应的QT_HOME修改为自己的安装目录,然后打开设置,修改Toolchains和CMake如图所示

1576034411833

1

点击ok,这时编译器会自动执行cmake

1576034864818

如果执行失败,检查一下是否配置了Qt的环境变量,如果有,将其删除。如果没有,检查QT_HOME设置是否有问题。camke完成后,点击build。

这时会遇到语法和函数未定义等之类的错误,类似下图

1576035192688

这时因为代码中包含了一些中文注释,修改下编码格式就好了

1576035346268

1576035595914

修改完后build就没有问题啦

8

点击运行,生成exe

3

这时,去bin目录下执行exe,你会发现缺少了很多dll.接下来,把这些dll找到,然后放到bin目录下就可以了。先去源码中的Depends目录下,将其中对应的dll都拿过来,然后是qt的一些dll,根据提示都放进来。

Qt的dll不好找的话可以使用Qt自带的一个工具叫windeployqt,如图,在bin目录下打开shell,执行如下命令

2

最后执行文件的目录应该包含以下这些

1

2

3

4

这时再执行StarTalk.exe就可以运行啦 1576041181969

ChaoCcWang commented 4 years ago

感谢分享...

lirui1111 commented 4 years ago

感谢分享...

不客气嘿嘿

jasonzhang007 commented 4 years ago

是否支持调试?

ChaoCcWang commented 4 years ago

支持调试 RelWithDebInfo