Чтобы получить qmake
для создания хорошего .sln
с подпроектами, создайте один основной .pro
файл с шаблоном subdirs
и установите необходимые зависимости каждого проекта от другого.
QtCreator использует qmake
за кулисами для генерации make-файла и сборки из него, но вы также можете создавать файлы решения VS, запустив
qmake ../path/to/source -tp vc
Вы также можете использовать надстройку Qt Visual Studio для графического интерфейса пользователя, если процесс.
Также: чтобы убедиться, что исполняемый файл повторно связывается при каждом изменении зависимой статической библиотеки, используйте
CONFIG( debug, debug|release ) {
LIBSUFFIX = d
win32:LIBS += -L../staticlib1/debug
win32:PRE_TARGETDEPS += ../staticlib1/debug/libAmbrosiad.a
} else {
LIBSUFFIX =
win32:LIBS += -L../staticlib1/release
win32:PRE_TARGETDEPS += ../staticlib1/release/libAmbrosia.a
}
unix:LIBS += -L ../libAmbrosia
unix:PRE_TARGETDEPS += ../libAmbrosia/libAmbrosia$${LIBSUFFIX}.a
Поместите что-то вроде этого в файл .pro
вашего исполняемого файла, отметив, что часть LIBSUFFIX полностью необязательна, но соответствует тому, как построен сам Qt, поэтому я тоже так использую. Обратите внимание на подкаталоги «release» и «debug», отсутствующие в сборках Linux / Mac. И чтобы быть полным: довольно многословное if-else
условие - The Right Way (TM)
, чтобы отличить debug
от release
сборок в файлах проекта qmake. Более простые способы могут сломаться при нескольких обстоятельствах.