这里是情况:
一位同事写了一个非常复杂,非常有价值的工具,许多大客户都喜欢使用。几个月前,他决定退休。我继承了他的工具。
该工具是用C ++编写的(我主要用Java编写程序,我的C ++知识非常生锈),编写该工具的开发人员对其评论非常稀少,而且许多结构化的事情我都不熟悉(假设我主要使用Java编写,并且我怀疑开发人员基本上是自学成才的。)
在大多数情况下,这都不是什么大问题,因为不希望我继续开发代码,只需对其进行编译并验证它是否可以与我们的主产品的最新版本一起使用。而且我可以轻松地针对Linux编译代码,因为我直接从他们的机器上取消了该设置。
现在,尽管他们拥有一台Windows机器,但他们还是决定使用MXE交叉编译工具在虚拟Linux机器上编译Windows的工具,而我无法将该配置转移到我的工作站上,所以我将其留在虚拟机上。
问题在于,开发人员没有向IT部门充分表达他的文件需要为我保留,他离开后不久就非常有效地擦除了他的硬盘和磁盘共享。因此,现在我要设法弄清楚如何为Windows编译链接所有内容,而Linux编译不是很有用,因为makefile仅指向几个本地位置,其余需要链接的地方似乎编译器知道的(我想是通过各种路径设置)。
例如,我遇到一个非常类似于here的错误。
我不知道操作符是否在工具中的某个地方过载,或者是否使用了我在MinGW(我正在使用的编译器)中找到的ostream定义。即使我通过NetBeans明确链接头文件(Project-> Properties-> Code Assistance-> C ++ Compiler),它似乎仍然找不到想要的东西。
如何链接NetBeans中的内容,或在MakeFile中列出它们,以便编译器可以找到所需的所有内容?