2015-11-27 8 views
0

В моем приложении я должен использовать некоторый код С, который генерируется из модели TargetLink. Для этого в моем решении я добавил код C в проект VC++ и создаю его в статической библиотеке. Я добавил еще один проект VC++ с классом C++ для взаимодействия между C# и C (Static Library) и построения его в dll.Создание статической библиотеки в приложении C#

У меня есть новое требование, в котором пользователь будет искать местоположение кода C, поскольку код может периодически меняться. Приложение должно использовать этот код. Я хочу построить dll с классом C++ и C-кодом.

enter image description here

То, что я пытался до сих пор является разбор файла .vcxproj и изменил путь C файлов в новое место. Я нахожу это сложным и ищу лучшего способа сделать это.

+0

Жесткие ссылки могут вам помочь. Вы ссылаетесь на источник из известного фиксированного местоположения, но это жесткая ссылка, которую вы меняете, поскольку они хотят найти местоположение исходного кода (конечно, если включенные файлы не будут меняться, просто их местоположение). –

+1

Что? Где приложение C# вошло во все это? Вопрос не ясен – MickyD

+0

Пожалуйста, проверьте эту статью: http://stackoverflow.com/questions/1835761/why-does-c-sharp-not-have-c-style-static-libraries – Kris

ответ

0

Вы используете MS Visual Studio? Затем, если вы пишете команду PreBuild для проекта C++, которая перезаписывает исходные файлы, если в местоположении пользователя существует более новая версия, она не решает вашу проблему?

+0

Когда я выпускаю исполняемый файл. У клиента не будет VS. Он хочет создать код C, когда будет доступен новый C-код. Поэтому мне нужно предоставить его как функцию в моем приложении. – Abhishek

+0

@Abhishek Итак, если я правильно понимаю, у вас есть приложение C#, которое использует C++ DLL, которая связывает статическую библиотеку C. Пользователь должен иметь возможность выбирать обновленное местоположение исходных файлов C, а затем ваша C++ DLL должна автоматически начинать использовать этот обновленный код, а не тот, который использовался, когда он был скомпилирован? –

+0

@codroipo: Да. Точно – Abhishek

Смежные вопросы