DLL 전용 빌드에 대해 고유 한 플래그를 지정하는 방법은 무엇입니까? 기본적으로 libtool은 GNU 규칙을 따르는 대부분의 프로젝트에서 괜찮은 -DDLL_EXPORT
을 추가합니다. 그러나 부스트를 사용하면 라이브러리 플래그를 지정해야 할 수도 있습니다. -DDLL_EXPORT -DBOOST_ALL_DYN_LINK
DLL 만 빌드 할 때가 있습니다. 가끔은 조건부 빌드를 원하므로 DLL/SO 빌드에 대한 몇 가지 구체적인 정의가 필요합니다.DLL/SO 빌드에 특정 플래그/정의를 지정할 수 있습니까?
libtool을 사용하여 불행히도이를 수행 할 수있는 방법을 찾지 못했습니다. 어떤 플래그를 사용해야합니까?
P.S. .: CMake 로의 이동을 제안하지 마십시오.
예 :
내가 술집에 연결하고 동적 라이브러리에만 문자를 얻을 수 -DBAR_EXPORTS을 필요로 라이브러리 foo를 사용합니다.
는libfoo_la_dynamic_CXXFLAGS = -DBAR_EXPORTS
누구처럼 뭔가가 있나요?
대체 솔루션 : (아주 추악한)
다음 파일`defines.h
#if defined(PIC) || defined(DLL_EXPORT)
#define BAR_EXPORTS
#endif
그리고 만들기 :
libfoo_la_CXXFLAGS += -include defines.h
미운를하지만 작동합니다.
다른 방법이 없습니까? – Artyom
@Artyom 아마 있을지 모르지만 나는 그것을 모르고 있습니다. 유닉스에서만 Autotools를 사용하고 DLL을 빌드 할 때 Windows에서 사용하지 마십시오. – mloskot