我试图用GCC通过DevC ++(MinGW GCC)编译一些C ++ WIN32代码。它无法链接对象,并且没有给我一个明确的错误消息:“[PathToSource]>错误1”。
用Eclipse(MinGW GCC)尝试过同样的事情并编译完成。但是,并非所有资源都显示,因为我有一个图标设置为编译为应用程序的图标,它是从资源文件加载的。在运行应用程序时,我还在后台获得了一个控制台窗口。
这是什么原因?如何使用代码编译资源文件,并避免在后台加载控制台窗口。
我还想知道是否有办法通过GCC在Linux中编译WIN32代码,或者是为同一编译器移植它的方法。
答案 0 :(得分:4)
尝试在命令提示符下进行编译,看看会发生什么。
资源文件的在命令提示符下尝试。
windres resource_file.rc -o resource_file.o
最后构建代码g++ resource_file.o -o app.exe app.cpp
答案 1 :(得分:2)
我试过编译一些C ++ WIN32 GCC通过DevC ++编写的代码(MinGW GCC)。它接缝无法链接 对象并没有给我一个 清除错误消息:“[PathToSource]> 错误1“。
您是否包含了Windows SDK的路径?在我的电脑上,它位于:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\x64
(注意我的计算机上安装了Visual Studios)
使用适当的gcc library setting编译您的程序。
用Eclipse尝试过同样的事情 (MinGW GCC)并编译。然而, 并非所有资源都显示为我 将图标设置为编译为 应用程序的图标,它已加载 来自资源文件。我也得到了 在我的背景中的控制台窗口 运行应用程序。
检查资源设置以查看Eclipse引用Windows库的位置。
这是什么?我怎么能够 使资源文件编译 代码,也避免加载 后台的控制台窗口。
在Visual Studio中开发应用程序。如果你负担不起Visual Studio并且你是一个爱好程序,请考虑Visual Studios Express。
我也想知道是否有办法 通过Linux编译WIN32代码 海湾合作委员会,或以此方式移植它 编译器。
如果你的意思是WINAPI,那么不,不是我所知道的。如果你想要兼容性,你应该坚持使用标准的C ++库。
但是,您可能会发现有用的通用库:
答案 2 :(得分:1)
Eclipse中的资源文件:
在项目的构建步骤中,需要输入命令以及资源及其输出文件的完整路径。
windres ../Resources/resource_file.rc -o ../Debug/resource_file.o
在链接器选项中项目的工具设置中,需要添加资源输出文件的路径,以便将资源链接到可执行文件中。
../Debug/resource_file.o
避开控制台窗口:
需要仅为GUI指定链接器标志。
-mwindows
在Eclipse中:
在链接标记中的项目工具设置中输入标记。