Любые советы о том, как лучше организовать кроссплатформенную библиотеку для VS2008 - PullRequest
2 голосов
/ 17 декабря 2011

Хорошо, я пишу библиотеку, которая будет разделена между Unix и Windows.Я работаю с Unix весь день, поэтому верстка кода не проблема.Вот как я представляю это для парней Windows, использующих VS2008.

Прошло очень много времени с тех пор, как я разработал Windows Dev (кашель 3.1), так что я не в курсе.

Я заметил, что VS2008 создает множество каталогов и подкаталогов (все из которых кажутся ненужными)).

Хорошо, давайте перейдем к реальному вопросу - я думаю, что cmake кажется хорошим легким переносимым решением - но как насчет инструкций для парней из Windows по включению библиотеки.

Парни из Unix знают из командной строкикак добавить библиотеку - но когда вы добавляете IDE, все это становится (слишком) сложным для меня

Итак, суть вопроса в том, как предоставить / layout dir struct для общей библиотеки unix / windows изТочка зрения сурового парня из Unix

1 Ответ

1 голос
/ 21 марта 2012

IDE разочаровывают, как ад, но это "ожидаемо" от вас.:) Я обнаружил, что просто создаю каталог "win32 /", в который помещаются файлы и каталоги проекта VC ++, независимо от того, как IDE хочет их разместить.В проект я добавляю файлы в src /, так же, как и в Unix.По крайней мере, среда IDE будет ссылаться на них с относительными путями, поэтому она имеет тенденцию работать.

Что касается самого кода, используйте #if HAVE_UNISTD_H вокруг #includeи т. д., был очень полезен, и при компиляции Windows у меня, как правило, есть один файл «win32.h», который выполняет портирование.

Это немного уродливо в win32.h, когда препроцессор вызывает "strcase * -> stri *" и win32 версии opendir и т. Д. Но я предпочитаю это сам, так как лично я не хочубольшая часть кода будет засорена #ifdef WIN32.Я загружаю Windows только для компиляции, а не для разработчика.

Я скажу, что я работал в среде Win32 IDE с идеей, что люди могут сами компилировать мои приложения.Этого никогда не было, и они просят меня собрать новые версии.Что противоположно миру Unix.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...