我在相同的解决方案prj1(基于控制台)和prj2(基于表单)下有两个VC ++项目。我想在按钮点击的“prj2”中使用“prj1”中的自定义函数(add(int a,int b))。我不想创建新项目,即我只想组合现有项目。我正在使用Visual Studio 2005 可以任何身体帮助我。
答案 0 :(得分:2)
如果两个项目都生成可执行文件(如在一个控制台应用程序和一个Windows应用程序中),则无法导出这些函数。
由于您已经声明您不想要其他项目,因此有两种选择:
首选选项2,因为它有助于代码维护,具有该代码的一个位置。
最好的选择是将共享代码抽象为可以与两个项目链接的库,但是您已经说过这不是一个可行的选择。我会问 - 为什么不呢?
答案 1 :(得分:0)
很抱歉这个愚蠢的问题,但VS 2005是否有解决方案文件的概念?我知道在C#中你可以将多个项目添加到一个解决方案中,只要你使用正确的命名空间访问它们(当然,类/方法是公共的和可见的),你可以在一些实例化之后使用它们。也许VS 2005你可以在一个解决方案中加载这两个项目并以这种方式得到它们?但是自从我使用VS C ++ 2005
以来已经有很长一段时间了答案 2 :(得分:0)
这完全取决于函数add
的依赖性级别。如果它是自包含的函数(如排序),你可以在另一个项目中使用striaghtaway,如Chad在第2点中所建议的那样。如果函数具有依赖性(表单,类别其他东西),则可能遇到麻烦。您可能还需要将所有这些共享到另一个项目中。在这种情况下,您可以将所有共享代码放入DLL(或静态库),从两个项目中删除,并在两者中添加该DLL / LIB的引用项目。
add
和其他相关功能/类