Добавление ссылки из нативной C ++ DLL в C ++ / CLI DLL в VS2010 не добавляет библиотеку импорта в командную строку компоновщика? - PullRequest
1 голос
/ 09 марта 2011

У меня есть несколько странная проблема, с которой я, похоже, не могу разобраться.У нас есть в основном неуправляемое приложение C ++, которое существует уже некоторое время и, таким образом, было создано с использованием множества различных версий Visual Studio, и оно регулярно обновляется до текущей версии Visual Studio.

IТеперь мы столкнулись со следующей проблемой:

  • В VS2010 я добавил два новых проекта в существующее решение.Оба новых проекта представляют собой библиотеки DLL, один из которых построен на простом неуправляемом C ++, создан на основе сочетания C ++ и C ++ / CLI и, следовательно, построен с поддержкой CLR (/ clr).Вторая C ++ / CLI DLL должна использоваться несколькими другими компонентами системы
  • Используя Свойства -> Общие свойства -> Каркас и ссылки, я добавляю две новые DLL в качестве зависимости к третьей DLL.Третья DLL ничего не знает о .NET и реализована на чистом родном неуправляемом C ++.Новые библиотеки DLL правильно отображаются в настройках зависимостей, а новые ссылки работают в том смысле, что порядок компоновки решения затрагивается (корректно), но по какой-то причине в библиотеку добавляется только библиотека импорта для простой собственной библиотеки C ++.Командная строка компоновщика для DLL, которая ссылается на обе библиотеки.Вторая, смешанная библиотека генерирует библиотеку импорта, но VS2010 не добавляет библиотеку импорта в командную строку компоновщика, что, как и ожидалось, приводит к появлению нескольких неразрешенных внешних символов.
  • Создается один параметр, который вызывает такое поведениеDLL с поддержкой времени выполнения Common Language, так как все остальные настройки библиотек идентичны.

В настоящее время у меня есть обходной путь для этой проблемы - я просто добавляю библиотеку импорта как ручную зависимость - но я былВам интересно, сталкивался ли кто-то еще с этой проблемой и есть ли способ заставить эту функцию работать, как и ожидалось, без обходного пути?

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