将C ++项目从.exe转换为.dll?

时间:2013-05-03 07:39:45

标签: c++

我通过Qt Creator IDE和Qt开发了我在Qt中的GUI应用程序。 MinGW编译器。 我打算根据GNU-LGPL条款开源。 既然我已经用我的GUI应用程序开发了所有源代码,我就很难修改项目,以便构建一个其他人可以在其应用程序中使用的.dll。以下是我的一些疑问:

  1. 我应该为.exe项目维护不同的源文件集吗?另一个用于.dll项目,考虑到我将在GitHub上维护我的项目。

  2. 我应该从.dll项目中删除所有与GUI相关的代码吗?或者只是将bool标志放在任何地方都可以创建/修改GUI吗?

  3. 我应该删除那些仅在.exe项目中使用的功能吗?绝不会在.dll项目中调用?或者我应该让它们成为现实吗?

  4. 这是我第一次参与应用程序开发和开源开发。由于我自己开发,我没有适当的指导。 谢谢。

1 个答案:

答案 0 :(得分:0)

我会把程序分成两个项目。将GUI内容放在一个项目中,该项目使用由您的其他项目创建的dll。这样你只需要维护一个dll代码的实例。以任何方式重复代码通常都是一个坏主意。

(信用到期的信用:我从this question的第三条评论中得到了这个想法。它是关于C#的,但该解决方案适用于任何类型的项目。)