Linux/GCC에서 -rpath 플래그를 사용하여 환경 변수로 템퍼링하지 않고 공유 라이브러리의 실행 파일 검색 경로를 변경할 수 있습니다.-rpath 링커 플래그와 동일한 Windows/MSVC가 있습니까?
Windows에서도이 작업을 수행 할 수 있습니까? 내가 아는 한 dll은 항상 실행 파일의 디렉토리와 PATH에서 검색됩니다.
내 시나리오 : 고유 한 이름을 돌보지 않고 공유 라이브러리를 속성 (32/64bit/Debug/Release)에 따라 위치에 배치하고 싶습니다. 리눅스에서 이것은 rpath를 통해 쉽게 할 수 있지만, 아직 Windows에서이 방법을 찾지 못했습니다.
어떤 힌트를 주셔서 감사합니다!
이 메커니즘은 어셈블리에만 해당됩니다. 이것은 관리 코드에 속합니다. – Christian
참고 자료가 있으십니까? 이 주제와 관련하여 본 모든 내용은 네이티브 코드 DLL을 동일하게 허용하는 것으로 보입니다. –
어셈블리는 [Wikipedia] (https://en.wikipedia.org/wiki/.NET_assembly)에 정의되어 있습니다. MSDN은 어셈블리라는 용어를 MSI [어셈블리] (http://msdn.microsoft.com/en-us/library/aa367757%28v=vs.85%29.aspx)와 함께 사용해야합니다. 따라서 귀하가 참조한 기사는 설치된 응용 프로그램에 속합니다. rpath 정보는 응용 프로그램에 임베드되어 설치시 릴레이되지 않습니다. Rpath는 링크 직후에 효과적입니다. – Christian