有关组织VS2008跨平台库的最佳方法的任何建议

时间:2011-12-17 05:15:52

标签: windows unix cross-platform

好的我正在编写一个将在unix和windows之间分片的库。我整天都在使用unix,所以代码的布局没问题。这是我如何向使用VS2008的Windows家伙呈现这一点。

自从我做了windows dev(咳嗽3.1)以来,已经很长时间了。

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

那么关于真正的问题 - 我认为cmake似乎是一个不错的便携式解决方案 - 但是对于那些包含该库的Windows人员的说明呢。

Unix家伙通过命令行知道如何添加库 - 但是当你添加一个IDE时,它对我来说(过于)复杂了

所以问题的关键是如何从一个死硬的unix家伙的角度为共享的unix / windows库提供/ layout dir struct

1 个答案:

答案 0 :(得分:1)

IDE使用起来很令人沮丧,但它是“预期”的。 :)我发现我只是创建了一个“win32 /”目录,其中VC ++项目文件和目录以IDE想要的方式放置。在项目中,我在src /中添加文件,与Unix相同。至少IDE会用相对路径引用它们,因此它很容易解决。

至于代码本身,使用#if HAVE_UNISTD_H围绕#include< unistd.h>等,一直非常有帮助,在Windows编译中,我倾向于有一个“win32.h”文件来满足移植需求。

在win32.h中有点难看,预处理器调用“strcase * - > stri *”和opendir等win32版本。但我更喜欢自己,因为我个人不想要大部分代码都被#ifdef WIN32弄乱了。我只启动Windows编译,而不是开发。

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