【发布时间】:2011-01-20 19:43:34
【问题描述】:
我一直在编写一个解析 Visual Studio 2010 解决方案并尝试使用 GCC 编译它的应用程序。
在我构建应用程序时,我让它在标准控制台窗口中运行,我没有遇到任何问题(前提是你忽略了我轻微的 GCC 不兼容性;))。
问题在于,当我在 Visual Studio 下执行此应用程序时,它可以正常启动,但是当它生成 GCC 子进程时,它会报告:
cc1plus.exe:加载共享库时出错:?:无法打开共享对象文件:没有这样的文件或目录
这非常令人困惑,因为它可以作为独立的控制台应用程序正常工作。那么有人知道发生了什么吗?这是什么 ”?”图书馆?为什么在控制台下能用,VStudio不能用?
我从构建应用程序中转储了我的 PATH 环境变量,它肯定包括我的 cygwin/bin 目录。在此之后它会立即丢失吗?如果我运行 cygwin bash shell,那么 /usr/bin 就在路径中。
那是什么?有人有什么想法吗?
【问题讨论】:
-
我的两分钱:如果您在 Windows 上只需要 GCC(并且没有 POSIXness),请选择 MinGW,例如从这里:mingw-w64.sourceforge.net 这是在 Windows 上运行的本机 GCC(没有,或者如果你想用 Cygwin)。如果 Cygwin 层当然不是您应用程序的必要部分,您可能会有更简单的设置。
-
@rubenvb: 唉,它必须是 cygwin :(
-
那么 Rozuur 就有了问题所在的答案。不幸的是,如何解决它是另一回事。您需要确保从 Cygwin 环境调用 cygwin 工具。如何?我认为从 Cywgin 的 (ba)sh.exe 调用它们会起作用,但可能还有其他/更好的方法。
标签: c++ visual-studio-2010 gcc msbuild cygwin