kevinlq / LQFramKit

c++ Qt5 implementation of some control(使用C++ Qt5封装的一些控件,以便后期项目中直接使用。这些控件有些是来自于网络有些属于个人封装,代码中都有出处)
http://kevinlq.com/
Apache License 2.0
207 stars 165 forks source link

在msvc编译环境下编译库文件失败 #1

Open jimiy opened 6 years ago

jimiy commented 6 years ago

我使用msvc编译器编译,发现编译的库文件总是失败,求解

kevinlq commented 6 years ago

你可以贴出具体错误代码提示,这样我也好排查是哪里错了?

chzhc commented 6 years ago

我也是 MSVC 下编译工程疯狂报错 感觉可能是qmake配置的问题 但是MinGW32下也是报错 3rdparty\QZXing\CameraImageWrapper.cpp:147:36: error: expected unqualified-id before '.' token memcpy(m, tmpRow->values()..data(), width); 上面这句多了一个. 下面错误不知道如何解决 ./..\build_\debug\obj\cruler.o: In function ZN6CRulerC2EP7QWidget': C:\Users\ZhangConghai\Desktop\widge\LQFramKit-master\LQAuxiliaryTools/src/cruler.cpp:15: undefined reference to_impGetDeviceCaps@8' C:\Users\ZhangConghai\Desktop\widge\LQFramKit-master\LQAuxiliaryTools/src/cruler.cpp:16: undefined reference to _imp__GetDeviceCaps@8' C:\Users\ZhangConghai\Desktop\widge\LQFramKit-master\LQAuxiliaryTools/src/cruler.cpp:17: undefined reference to_impGetDeviceCaps@8' C:\Users\ZhangConghai\Desktop\widge\LQFramKit-master\LQAuxiliaryTools/src/cruler.cpp:18: undefined reference to `_imp__GetDeviceCaps@8' collect2.exe: error: ld returned 1 exit status

kevinlq commented 6 years ago

从你的错误信息看出来,是有库没有编译好,在最终连接时找不到其中的一些函数方法导致失败。 重新编译下库: LQAuxiliaryTools

chzhc commented 6 years ago

弄好了 谢谢分享 : )

kevinlq commented 6 years ago

今天重新整理了下工程结构,针对上面提到的编译问题进行了修改,可以在Qt5以上平台编译通过了。

chzhc commented 6 years ago

赞👍