Я сделал динамическую библиотеку с скомпилированными заголовками и скомпилировал DLL (используя Visual Studio 2012).
У меня также есть проект C ++, сделанный также с Visual Studio 2012, который я хочу сослаться на предыдущую сгенерированную DLL.
Как ссылаться на эту (Dynamic Lib) DLL в моем проекте Visual Studio 2012 C ++? Нужно ли указывать файл заголовка (.h), если я хочу использовать функции библиотеки?
Я считаю, что проще всего ссылаться на проект DLL с помощью Framework and References
пункт в диалоге свойств проекта:
Похоже, вы добавляете какую-то странную вещь .Net в свой собственный код C ++, но это также самый простой способ для проекта с собственным кодом ссылаться на другой.
Если вы хотите вызывать функции в этой DLL, тогда да, вы, вероятно, хотите включить заголовочный файл этой DLL.
Есть несколько способов сделать это, но все они имеют в общем, что вам нужно включить заголовок в ваш проект, чтобы функции были известны, так как C ++ не имеет отражения.
Вы можете пропустить статическое связывание и загрузить dll с помощью LoadLibrary и получить функции с помощью GetProcAddress, это дает то преимущество, что вы можете сделать DLL необязательной. Если его там нет, вы можете просто не звонить и не показывать удобное сообщение об ошибке.
вы можете статически ссылаться на dll, это означает добавление .lib-файла dll к вашему проекту, есть несколько способов сделать это, старый способ — добавить его в свойства вашего решения / linker / input / Additional зависимости, а затем убедитесь, что DLL находится в пути поиска exe. Вы получите сообщение об ошибке, если оно не найдено.
Вы можете увидеть документацию здесь: http://msdn.microsoft.com/en-us/library/ms235636(v=vs.80).aspx (Создание и использование библиотеки динамических ссылок)
Я могу дать вам ответ о том, как добавить DLL в VS 2010
шаги:
щелкните правой кнопкой мыши на обозревателе решений, свойства, свойства конфигурации, общие, выходной каталог.
здесь нажмите на стрелку вправо и выберите брови.
Брови в каталог DLL.
это все.