堆栈溢出!
今天的问题有点奇怪,但是请忍受我。任何意见/建议都非常感谢!
我已经在一个项目中继承了一个旧的代码库,该项目的某些组件可以追溯到2002年。该项目根本没有任何文档,并且建立了该版本的原始计算机也不再存在(硬盘驱动器出现故障,没有可用的备份...)。该系统与机器人 ARM 互动并对其进行控制。我具有完整安装,并且可执行文件已安装在具有适当硬件的测试计算机上。源位于Subversion存储库上,但是日志记录消息很少,也没有提供实用建议。最早在一月份就进行了处理,但是开发人员在我开始之前就离开了。使用新的基于C#的GUI对其进行了部分重写。该项目包括C++,C++ / CLI和C#。它使用Boost和VTK。
简而言之,我的问题是:该软件的控制部分存在一个客户端关键错误,而我无法构建该项目。没有可用的调试符号,并且附加正在运行的exe无效(可能是以下原因)。 C#之前的版本
版本或最新的源构建都可以在我尝试过的任何配置下进行。
使事情变得更加复杂的是,尽管我不确定这一点,但有人建议该项目以前是通过Borland C++ Builder V6构建的,此后一直迁移到Visual Studio。尽管它仍然包含Borland特定的组件
其中大多数似乎是有条件的。
我的经理发誓它将在VS下生成而不是,并且必须在Borland中完全编译。问题在于,如果没有很多错误,我都无法将其构建。肯定有Borland特定的组件(BPL文件),但我不知道它们是什么
或它们与项目结构的关系。
我想知道它是否需要先在Borland中构建,然后在VS中构建,或者类似的东西。所以,我的问题是:是否有任何方法可以尝试推论出如何构建此东西,还是只是尝试每一种选择直到找到正确的选择?
编辑:错误日志如下。请注意:我对VS非常熟悉,但直到几天前我才使用过Borland。新手警报!
正确的targer我收到以下错误(在出现一些提示,提示丢失文件后...我尝试设置链接器和编译
避免这些的选项,但老实说,我不知道这些是外部依赖性还是Borland组件
已安装)
正在检查项目依赖项...
生成LoggingDebug.cbproj(调试配置)
[BCC32错误] is_array.hpp(40):E2430在重新声明“is_array”时模板参数的数量不匹配
[BCC32错误] is_array.hpp(40):E2428模板必须是类或函数
[BCC32错误] is_array.hpp(41):E2430在重新声明“is_array”时模板参数的数量不匹配
[BCC32错误] is_array.hpp(41):E2428模板必须是类或函数
[BCC32错误] is_array.hpp(42):E2430在重新声明“is_array”时模板参数的数量不匹配
[BCC32错误] is_array.hpp(42):E2428模板必须是类或函数
[BCC32错误] is_array.hpp(43):E2430在重新声明“is_array”时模板参数的数量不匹配
[BCC32错误] is_array.hpp(43):E2428模板必须是类或函数
[BCC32错误] ct_if.hpp(31):E2238“ct_and::type”的多个声明
[BCC32错误] ct_if.hpp(30):E2344早期声明了“ct_and::type”
[BCC32错误] function_base.hpp(157):E2238“function_return_type::type”的多个声明
[BCC32错误] function_base.hpp(152):E2344早期声明了“function_return_type::type”
[BCC32错误] align_of.hpp(37):E2468不允许类型为void的值
[BCC32错误] align_of.hpp(56):E2450未定义的结构'alignment_of_hack'
[BCC32错误] align_of.hpp(56):E2109不允许的类型
[BCC32错误] align_of.hpp(37):E2468不允许类型为void的值
[BCC32错误] align_of.hpp(56):E2450未定义的结构'alignment_of_hack'
[BCC32错误] align_of.hpp(56):E2109不允许的类型
[BCC32错误] align_of.hpp(37):E2468不允许类型为void的值
[BCC32错误] align_of.hpp(56):E2450未定义的结构'alignment_of_hack'
[BCC32错误] align_of.hpp(56):E2109不允许的类型
[BCC32错误] align_of.hpp(37):E2468不允许类型为void的值
[BCC32错误] align_of.hpp(56):E2450未定义的结构'alignment_of_hack'
[BCC32错误] align_of.hpp(56):E2109不允许的类型
[BCC32错误] if.hpp(131):E2270>预期
[BCC32错误] if.hpp(131):E2321声明未指定标签或标识符
[BCC32错误] type_with_alignment.hpp(271):E2238'type_with_alignment <2>::type'的多个声明
[BCC32错误] type_with_alignment.hpp(268):E2344早期声明了'type_with_alignment <2>::type'
[BCC32错误] not.hpp(40):E2015'aux'和'mpl _::aux'之间的歧义
[BCC32错误] not.hpp(47):E2270>预期
[BCC32错误] not.hpp(47):E2321声明未指定标签或标识符
[BCC32错误] void.hpp(71):E2270>预期
[BCC32错误] void.hpp(71):E2321声明未指定标签或标识符
[BCC32错误] void.hpp(72):E2270>预期
[BCC32错误] void.hpp(72):E2321声明未指定标签或标识符
[BCC32错误] or.hpp(50):E2015“aux”和“mpl _::aux”之间的歧义
[BCC32错误] or.hpp(62):E2270>预期
[BCC32错误]或.hpp(62):E2321声明未指定标签或标识符
[BCC32错误] eval_if.hpp(67):E2270>预期
[BCC32错误] eval_if.hpp(67):E2321声明未指定标签或标识符
[BCC32错误] identity.hpp(40):E2270>预期
[BCC32错误] identity.hpp(40):E2321声明未指定标签或标识符
[BCC32错误] identity.hpp(41):E2270>预期
[BCC32错误] identity.hpp(41):E2321声明未指定标签或标识符
[BCC32错误] yes_no.hpp(35):E2238“yes_no_tag <1>::type”的多个声明
[BCC32错误] yes_no.hpp(30):E2344早期声明的'yes_no_tag <1>::type'
[BCC32错误] assert.hpp(79):E2270>预期
[BCC32错误] assert.hpp(79):E2321声明未指定标签或标识符
[BCC32错误] arg.hpp(21):E2270>预期
[BCC32错误] arg.hpp(28):E2321声明未指定标签或标识符
[BCC32错误] arg.hpp(28):E2228错误或警告消息太多
失败的
经过时间:00:00:36.2
确切的错误取决于我从存储库中提取源的哪个版本而有所不同,但是考虑到这件事显然是在“适当条件下”完美构建的,因此,大量错误肯定暗示着外部依赖项,项目设置等问题。
最佳答案
but the developers left before I started
the hard drive failed and there is no backup available
I can't get it to build in either without dozens of errors.
整个过程中都写了软件项目灾难。您可能是在最后一次尝试中被雇用,目的是通过向问题扔肉来挽救投资。你是肉即使原始开发人员也放弃了它,您也有机会挽救它。
您需要获得管理团队的 promise ,才能有任何机会使这一目标圆满结束。坚持以下几点:
如果您发现他们对执行这些步骤有任何犹豫,请别忙了。
关于c++ - 使用C++生成问题-C++/CLI-C#项目(Borland和VS特定组件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3439178/