编译后程序无法打开

时间:2012-08-15 19:10:49

标签: c++ windows cygwin

昨天我在玩C ++的IRC机器人。它编译和工作得很好,它唯一真正做的就是在看到“ping”时说“pong”。

今天我尝试实现随机事实的代码。我使用

在cygwin中编译了它
g++ -o ircbot.exe main.cpp bot.h bot.cpp

现在,当我尝试打开它时,它告诉我“Windows无法访问指定的设备,路径或文件。您可能没有相应的权限来访问该文件。”

在认为我做错了之后我回去了,评论了我所做的所有更改,尝试再次编译它,并且它给出了相同的Windows错误。我不太确定我在哪里出错了,有没有人有类似的事情发生?

快速更新,当我将Windows上的共享状态更改为share with homegroup时,它告诉我我运行的版本与我的Windows版本不兼容,并检查它是否是32位或64位位。我不知道它是什么,这是我编程的最奇怪的问题。我会在Linux上试一试,看看它是否会带来任何愚蠢的业务。

1 个答案:

答案 0 :(得分:0)

在Linux上发生了这种情况,但由于你使用的是cygwin并且问题非常相似,所以可能是同样的事情。

我在64位计算机上将C ++程序编译成32位可执行文件。试图执行给我一个“找不到文件”的消息。

原来它失败了,因为我没有我的程序所需的32位版本的库。由于某些原因,链接器没有捕获它。

尝试传递-m32或-m64,具体取决于您机器的架构。