我有一个项目的.SLN文件就在那里,我们可以在Visual Studio 2008上运行项目,并且我们在其中添加了qt扩展,我们正在使用我们的项目。
我尝试使用以下链接创建.pro和pri: Converting .Sln Project to .pro Project
我能看到相关的lib并管理添加所需的文件。但该守则对VS来说太具体了。
我正在接受问题:
1)无法从TCHAR转换为Const Char *
2)cc1plus.exe:错误:找到了一个或多个PCH文件,但它们无效
3)cc1plus.exe:错误:使用-Winvalid-pch获取更多信息
4)cc1plus.exe:致命错误:发布\ StdAfx.h:没有这样的文件或目录
5)错误:C函数'int WinMain(HINSTANCE,HINSTANCE,LPTSTR,int)的冲突声明' int _tWinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPTSTR lpCmdLine,int nCmdShow)
从这些我得出结论,代码更具体到Visual Studio。
我正在使用以下工具请更正我如果我没有使用正确的版本:
1)Qt Creator 3.6.1 基于Qt 5.6.0(MSVC 2013,32位)
是否有任何特定的方法将代码从VS2008移植到Qt 5.6或5.7。
答案 0 :(得分:1)
你已经做过 - 我想 - 是将visual studio项目文件迁移到Qt。但是,如果要完全迁移到Qt并编写跨平台应用程序,则应将所有特定于MFC的代码替换为Qt,这是非常不同的。例如,WinMain(正如预期的那样)特定于windows:你应该有一个简单的main。在那里,您需要定义QApplication,依此类推......
我的建议可能是在处理完整的迁移之前先从一些小的Qt样本开始。如果你遇到困难,你可以回过头来讨论stackoverflow的更具体的问题。
答案 1 :(得分:0)
使用MSVC编译器可以解决问题!!!!
答案 2 :(得分:0)
这只是琐事。
微软试图在Unicode联盟完成其工作之前过早地将国际字符引入Windows,并且一切都在扭曲。所以Windows函数可以传递字符串作为各种东西,简单的ascii,w_chars,TCHARS等。你需要让一切都保持一致。每个带字符串的Windows函数都有两种形式,A表示ascii,W表示宽。 您需要使所有内容保持一致,并确保功能正在获得正确的表单。这可能涉及插入一些胶水功能,将字符串从宽变换为ascii和返回。
没有什么不妥,但这是一项工作。