2011-12-17 40 views
2

好吧我正在写一个库,它将在unix和windows之间分割。我整天使用unix,所以代码的布局不成问题。这是我如何使用VS2008的窗户人。关于为VS2008组织跨平台库的最佳方式的任何建议

自从我用windows dev(咳嗽3.1)这样脱节以来,它已经很长时间了。

我注意到VS2008创建了很多目录和子目录(所有这些目录似乎都没有删除)。

好吧,真正的问题 - 我认为cmake似乎是一个很好的便携式解决方案 - 但如何指导windows家伙包括图书馆。

Unix的家伙知道通过命令行如何添加库 - 但是当你添加一个IDE这一切得到(过分)复杂,我

所以,问题的肉是如何规定/布局目录结构一个共享unix/windows库,从一​​个死硬unix的家伙的角度来看

+1

这可能是一个很好的工作模式:http://gnuwin32.sourceforge.net/packages/libpng.htm – 2011-12-17 05:25:57

回答

1

IDE是令人沮丧的地狱使用,但它是“预计”你。 :)我发现我只是创建一个“win32 /”目录,其中的VC++项目文件和目录,以任何方式IDE想要把它们。在项目中,我将这些文件添加到src /中,与Unix相同。至少IDE会用相对路径来引用它们,所以它倾向于解决。

至于代码本身,使用#如果HAVE_UNISTD_H各地的#include < unistd.h中>等,非常有帮助,并在Windows编译,我倾向于做有一个“win32.h”文件,做移植需要。

它在win32.h中得到了一点难看,预处理器调用了“strcase * - > stri *”和win32版本的opendir等。但我更喜欢我自己,因为我个人不希望大部分代码散布在#ifdef WIN32中。我只启动Windows进行编译,而不是开发。

我会说,我做的Win32 IDE工作的想法是人们可以自己编译我的应用程序。这从来没有发生过,他们让我编译更新的版本。这与Unix世界相反。