在“可执行文件”上调试Codelite并在“静态库”上发布

时间:2017-11-07 14:44:55

标签: c++ git static-libraries executable codelite

我在Ubuntu 16.04上使用CodeLite(版本11.0.0)来开发静态库。

我配置了调试模式以生成可执行文件,我创建了一个main.cpp文件来调用我的库中的函数并进行测试。

然而,该项目的目标是生成一个静态库。我已经问how to make a static library了,我现在知道怎么做了。问题是,我提出的解决方案涉及制作图书馆的单独项目。

这带来了烦恼,因为我正在一个项目中开发源文件,并且需要在另一个项目中使用它们。经过几次繁琐的复制粘贴和调试练习后,我尝试设置一个Release模式,用相同的源文件生成一个静态库。

但问题是我不知道如何告诉CodeLite在Debug中构建main.cpp,但在Release中忽略它。

Debug文件夹应为:

main.cpp
module1.h
module1.cpp
module2.h
module2.cpp
library1.h

发布文件夹(构建静态库)应为:

module1.h
module1.cpp
module2.h
module2.cpp
library1.h

在不同的配置中,如何告诉CodeLite使用两个不同的源文件列表? CodeLite以xml格式将此信息存储在.project文件中:

       

<![CDATA[00020001N0005Debug0000000000000001N0007Release000000000000]]>
    </Plugin>
  </Plugins>
  <Description/>
  <Dependencies/>
  <VirtualDirectory Name="src">
    <File Name="main.cpp"/>
    <File Name="module1.h"/>
    <File Name="module1.cpp"/>
    <File Name="module2.h"/>
    <File Name="module2.cpp"/>
    <File Name="library1.h"/>
  </VirtualDirectory>

同一文件还存储所有依赖项。我想到了以某种方式修改它,直到我意识到文件在配置从Debug更改为Release时自动更新,反之亦然。

其他想法是以某种方式在我所有文件所在的同一文件夹中创建一个新项目或整个工作区,并使用.gitignore在同一文件夹中创建单独的Git存储库或子模块巧妙。然而,它们似乎既不优雅也不可靠。

我是否有办法在CodeLite中拥有单个存储库和项目配置,以便能够开发和测试(运行main调用的可执行文件)并构建静态库({{1}除外) })无需编写和维护CMake文件?

0 个答案:

没有答案