我正在尝试使用 cygwin 将 C++ 程序从 Linux 移植到 Windows。我现在可以很好地构建和链接它,但是当我启动该程序时,它会立即退出并出现错误。当我在 gdb 中尝试时,我得到以下“未知目标异常”结果:
$ gdb ../../bin/ARCH.cygwin/release/myApp
GNU gdb 6.8.0.20080328-cvs (cygwin-special)
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This GDB was configured as "i686-pc-cygwin"...
(no debugging symbols found)
(gdb) run
Starting program: bin/ARCH.cygwin/release/myApp.exe
[New thread 1452.0x99c]
gdb: unknown target exception 0xc0000139 at 0x77149eed
Program exited with code 030000000471.
You can't do that without a process to debug.
当不在 gdb 中时,它会引发一个对话框,内容为:“一个问题导致程序停止正常工作。Windows 将关闭该程序并在有可用解决方案时通知您。”
知道我做错了什么吗?
谢谢。
-威廉
最佳答案
Microsoft 将 0xC0000139 描述为 STATUS_ENTRYPOINT_NOT_FOUND。这表明您的程序未正确链接。仔细检查您的构建脚本以确保它编译并链接所有相关文件。
如果您正在使用任何库,则可能存在链接问题(或者您可能缺少某种 DLL)。
您可以通过查看它生成的错误报告来获取更多信息 - the error message Microsoft associates with that error应该准确地包括它找不到的入口点。
关于c++ - Cygwin 端口不工作 => 在启动时立即退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1993297/