我们有 3 个 qt qmake 项目。运行在 qt-creator 5.12.0.
App A 依赖库 B 依赖库 C。使用 qmake 时一切正常。
现在我们想切换我们的项目以使用 cmake 编译我们的库。
当我在发布模式下使用 cmake 编译库 C 时,一切正常。
如果我在调试模式下使用 cmake 编译库 C,一切都没有任何错误。
但是,对于 App A,它有一个名为 Viz 的主应用程序,Viz 是一个应用程序查看器,可以启动子应用程序。 Viz 应用程序运行无误。但是,如果我从 Viz 启动子应用程序或从 qt-creator 启动,子应用程序将崩溃。
我收到以下消息:
`C:\Windows\system32\ntdll.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
`C:\Windows\SYSTEM32\wow64.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
`C:\Windows\SYSTEM32\wow64win.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
`C:\Windows\SYSTEM32\wow64cpu.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
但是如果我从命令行运行子应用程序,一切正常。
在 qt-creator 中,项目,运行,如果我取消选中将构建库搜索路径添加到 PATH,则子应用程序运行而不会崩溃。但是如果未选中此选项,Viz 应用程序将崩溃。
代码是C++,我在qt上使用MSVC 2017 32位,amd64_x86,cmake使用Ninja生成器。
现在我不确定如何解决这个问题,如果有人对此有任何意见。