Моя цель - собрать существующие классы C ++ (унаследованный код, хранящийся в наборе *.h
файлов) в DLL, чтобы в дальнейшем ее можно было интегрировать в приложение C #.
Для этой цели лучше всего использовать MS Visual Studio. У меня нет опыта работы с этой средой, поэтому я попробовал наивный подход, найденный в MSDN и других ответах SO:
- Файл | Новый | Проект из существующего кода
- выбран Visual C ++
- выбранное местоположение файла, которое является базой для включаемых ссылок, используемых в этих
.h
файлах
- указано название проекта
- пусть мастер найдет и добавит все файлы C ++ ниже каталога
- выбрано «Использовать Visual Studio» для сборки с типом проекта «Динамически связанная библиотека (DLL)»
- не установил ни один из флажков ниже (ATL, MFC, CLR)
- указано
.
dir в «Включить пути поиска (/ I)» в настройках отладки
- установлен флажок «То же, что конфигурация отладки» в «Настройках выпуска»
- нажал кнопку Готово
Это создает пару файлов VS в каталоге:
mylibrary.sln
mylibrary.vcxproj
mylibrary.vcxproj.filters
mylibrary.vcxproj.user
Когда проект создан таким образом, я нажимаю F6
или выбираю Build
| Rebuild solution
из меню.
Тогда я ожидаю, что сборка где-нибудь выдаст файл .dll
, но он не появляется. Появляются только эти файлы:
.vs/mylibrary/v15/.suo
.vs/mylibrary/v15/Browse.VC.db
.vs/mylibrary/v15/Browse.VC.opendb
.vs/mylibrary/v15/ipch/AutoPCH/efad7c74cd39331b/EXAMPLE.ipch
Debug/mylibrary.log
Debug/mylibrary.tlog/mylibrary.lastbuildstate
Затем я решил попробовать создать новый проект библиотеки, просто чтобы увидеть различия, чтобы получить некоторые подсказки, но это не помогло - было слишком много различий, даже в файловой структуре ...
Мои вопросы:
- мой выбор MS Visual C ++ подходит для данной цели?
- если так, что я тут не так делаю?