У меня есть проект в Visual C ++ 2010, который содержит директивы препроцессора в файле заголовка ключа.На самом деле это исходный код ZMQ.
Проект обычно настроен на dll, поэтому в заголовке используется состояние DLL_EXPORT (определено / не определено).Если проект используется для компиляции dll, заголовок может использоваться как проектом dll, так и клиентским кодом, благодаря следующей настройке, взятой из zmq.h:
#if defined _WIN32
# if defined DLL_EXPORT
# define ZMQ_EXPORT __declspec(dllexport)
# else
# define ZMQ_EXPORT __declspec(dllimport)
# endif
Однако это неподдержать установку, где я собираю статическую библиотеку.Поэтому я должен изменить заголовок вручную.Visual Studio, похоже, распознает настройки проекта dll и соответственно обрабатывает определения для dll_export.Существует ли символ, распознаваемый Visual Studio, который соответствует настройке статической библиотеки?По сути, я бы хотел обрабатывать и использовать статическую библиотеку, расширив метод, использованный в приведенном выше фрагменте.