链接错误在32位XP机器上构建64位Qt应用程序

问题描述:

我试图在我的Vista64服务器上对我的32位xp开发盒进行生产测试来构建我的应用程序的64位版本(并且是的,我确实需要内存)。链接错误在32位XP机器上构建64位Qt应用程序

以前,我在64位模式下构建了没有任何错误的Qt 4.6.2 DLL。这一步变化顺利。

为了开始建设生产,我试图在64位模式下重建Qt的Star代理演示。我通过更改应用程序配置并将库调整为64位版本,将32位应用程序转换为64位应用程序。现在,当我去链接时,我链接时出现以下错误:

1>------ Build started: Project: stardelegate, Configuration: Release x64 ------ 
1>Linking... 
1>MSVCRT.lib(crtexew.obj) : error LNK2001: unresolved external symbol WinMain 
1>release64\stardelegate.exe : fatal error LNK1120: 1 unresolved externals 

建议?

编辑 - 经过一些更多的搜索,发现如果我作为控制台应用程序链接它将工作和运行。但不是一个Windows应用程序。我在32位模式下没有这个问题。

+1

您是否使用'WinMain','_tWinMain'或其他作为您的主要功能?另外,你可以发布链接器设置的入口点吗?谢谢。 – Troubadour 2010-06-02 17:20:29

+0

我使用标准的“int main()”和默认入口点。然而,你的评论让我总体思考“主”。我将我的项目设置与工作的项目设置进行了比较,发现我忽略了包含WinMain函数的Qtmain。它现在正在工作。谢谢,希望我可以检查你的评论作为答案。 – 2010-06-02 17:38:02

+0

嘿,没问题。 – Troubadour 2010-06-02 17:50:18

qt application 64 bit windows

编辑:没关系,你发现它。如果您不使用CMake或qmake,则需要链接到qtmainhttp://doc.qt.io/archives/4.6/modules.html

你不需要接受这个,因为我没有找到它,但只是让未来的人看到答案,不会感到困惑。

+0

感谢您的联系,但是,这是我们没有的一个问题。我们的问题仅与连接64位应用程序有关,因为我们已经在64位模式下构建了qt库。 – 2010-06-02 17:52:58

+0

@photo_tom:你的链接器路径是什么样的?正如在那个链接(并希望是显而易见的)中所述,如果您最终链接到64位版本的32位库,它将会失败。确保32位库不会出现在链接路径中的64位库之前。 – 2010-06-02 18:20:47

+0

w - 在提出问题之前,您提出了有关我检查过的链接路径的有效点。在混合的32/64位本地代码应用程序世界中工作绝对是您必须在您的构建中进行组织的地方。绝对是我必须努力的事情。我的问题原来是,我不知道我需要在构建中包含Qtmain.lib。 – 2010-06-03 02:48:37