Как заставить CMake создать dll и соответствующий ей файл lib?
Я использую CMake для создания общей библиотеки 9X_cmake-gui через Visual Studio 2010. Решение выводит 9X_vs.net файл dll, но не соответствующий файл библиотеки. Как 9X_visual-studio-community мне сказать CMake создать файл lib, чтобы 9X_cmake я мог связать другие проекты с dll?
Ответ #1
Ответ на вопрос: Как заставить CMake создать dll и соответствующий ей файл lib?
Прежде всего убедитесь, что в вашей общей 9X_visual-studio-community библиотеке есть хотя бы один экспортированный 9X_cpp символ. Visual Studio не создает файл .lib
, если 9X_vs.net dll не экспортирует символы.
Затем проверьте 9X_visual-studio свои файлы cmake - возможно, вы установили 9X_vs.net переменную CMAKE_ARCHIVE_OUTPUT_DIRECTORY
или свойство ARCHIVE_OUTPUT_DIRECTORY
целевой общей 9X_cmake библиотеки. Если эта переменная / свойство 9X_vs.net установлено, Visual Studio будет выводить 9X_visual-studio-community файлы .lib
в другой каталог, указанный этой 9X_visual-studio-community переменной / свойством. (Также могут быть 9X_c++ версии для конкретной конфигурации, например 9X_cmake ARCHIVE_OUTPUT_DIRECTORY_Release
.)
- Я не экспортировал никаки ...
-
9
-
7
-
5
-
5
-
3
-
2
-
3
-
6
-
2
-
4
-
3
-
16
-
2
-
1
-
1
-
1
-
6
-
1
-
8
-
1
-
1
-
1
-
6
-
6
-
7
-
2
-
3
-
5
-
1
-
3
-
4
-
3
-
3
-
2
-
5
-
2
-
3
-
1
-
6
-
2
-
3
-
6
-
3
-
1
-
1
-
2
-
1
-
2
-
4
-
3