将C ++ Win32 Console项目类集成到Visual Studio 2008中的Visual C ++(Windows窗体应用程序)项目中

时间:2010-03-04 22:16:03

标签: c++ visual-studio-2008 visual-c++ integrate

我已经编写了一些类,一个项目的后端用C ++(win32项目),然后想要添加一个GUI。 Visual C ++似乎是一个很好的解决方案,但在完成GUI部分后,我无法集成普通的C ++代码。有人有这方面的经验吗?我得到'未解决的外部'错误。显然,.cpp文件在最后一步中没有链接。我想一些项目设置也需要改变,有人可以解释一下吗?

我还在考虑将类编译成.dll并将其导入到Visual C ++项目中,是否可能以某种方式将这两个项目编译在一起?

感谢您的帮助,我已经玩了一段时间了,但找不到任何可行的解决方案。

佐尔坦

4 个答案:

答案 0 :(得分:0)

“项目A”需要导入“项目B”的标题,还需要链接“项目B”。

答案 1 :(得分:0)

如何将这些旧类导入C ++ GUI项目?作为库,还是作为源文件?

如果只是源文件,您只需将文件添加到项目中并将其与新文件一起编译即可。

答案 2 :(得分:0)

如果您的后端代码是作为生成库的单独项目集成的,则需要将此项目的依赖项添加到GUI应用程序。

如果您没有将项目集成到GUI解决方案中,则需要设置包含目录,在链接器 - >输入中添加lib,并让VS知道如何通过在链接器选项中设置其他库目录来查找它。

答案 3 :(得分:0)

鉴于没有足够的细节可以真正告诉我们发生了什么,我的头脑中有许多可能性。

  • 如果您没有单独链接后端,则不会编译后端部分的代码(项目的cpp文件不是GUI项目或相关依赖项的一部分)。
  • 您的后端项目的库没有链接;检查项目属性的链接部分。如果你是separtely链接。
  • 后端和前端库已使用不同的设置进行编译,在链接时,这会导致问题。例如,调试和发布标准库,多线程或单线程库;如果不匹配,也可能会导致不同的字符串定义(特别是如果您使用过模板代码)。

如果你愿意,完全有可能用后端部分构建一个dll。如果它不被其他任何东西使用我可能不会打扰并且只是静态链接,但你当然可以。