Я настраиваю решение [C # WPF] и [C ++ / CLI] и [Код C ++ с внешней библиотекой] в VS 2017.
У меня есть одно решение VS с 3 проектами: test_app (c ++), Оболочка (C ++ / CLI) и Песочница (C # WPF).
Решение правильное и работает без добавления библиотек.
Я использую conan в качестве менеджера пакетов (добавлено расширение VS conan и добавлен conanfile.txt в мой проект test_app.
conanfile.txt:
[requires]
boost/1.69.0@conan/stable
websocketpp/0.8.1@bincrafters/stable
[generators]
visual_studio
c ++ test_app создает без ошибок:
1>Done building project "test_2_aaa.vcxproj".
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
Но если я добавлю в свой заголовок test_app / Entity.h и скомпилирую заголовок, у меня будет ошибка в моем C ++ / CLI Wrapper (conan install deps иtest_app перестраивается нормально):
2>------ Rebuild All started: Project: Wrapper, Configuration: Debug Win32 ------
2>stdafx.cpp
2>AssemblyInfo.cpp
2>Entity.cpp
2>c:\users\taipoxin\source\repos\test_2_aaa\test_2_aaa\entity.h(3): fatal error C1083: Cannot open include file: 'websocketpp/client.hpp': No such file or directory
2>Generating Code...
2>Done building project "Wrapper.vcxproj" -- FAILED.
========== Rebuild All: 1 succeeded, 1 failed, 0 skipped ==========
Возможно, проблемы с настройкой проектов или связыванием, но я не могу понять, что же плохо. Я использую test_app в Wrapper, используя заголовок #include "../test_2_aaa/Core.h"
в Wrapper / Entity.h
Мой test_app настроен как Статическая библиотека (.lib) и Wrapper настроен как Динамическая библиотека (.dll)
test_app проверен в зависимостях проекта Wrapper.
Экран со всей структурой: решение
Основные файлы моего test_app:
https://gist.github.com/taipoxin/0a2e908c7e7c2ca621361a3a656830a2
Основные файлы My Wrapper:
https://gist.github.com/taipoxin/6771b9372af6c00f7eee3896638b39d8
Если у вас есть дополнительные вопросы, вы можете их задать мне.
Спасибо.
UPD: Я также пытался добавить conanfile в Wrapper и установить там deps, но при попытке его было обнаружено много ошибок.