void initGui()
함수가있는 파일이 있습니다. 그것은 물건을 않습니다. 해당 파일로 만든 .so
공유 라이브러리도 있습니다.공유 라이브러리를 링크하는 동안 이상한 기호 g ++
dlsym(..., "initGui")
을 시작하려고 할 때, dlerror()
은 기호를 찾지 못했다는 것을 알려줍니다 (당연히 나는 그것을 열기 위해 dlopen
을 사용했습니다). 그래서 nm
내 공유 라이브러리를 보았습니다. 나는 "이해"는 _Z7initGuiiii
내가 무엇을 찾고있을 수도 있습니다. 그래서 나는 dlsym
에 노력했다. .. 그리고 그것은 성공했다.
누군가 내 공유 객체 라이브러리에서 깨끗한 기호를 갖는 방법을 알려주시겠습니까?
g++ -Wall -Wextra -Werror -c -fPIC
으로 컴파일합니다. 일부 dlopen
는 C++로 코딩 라이브러리를 공유 -ed 내부 -ing
이것은 C++ 이름 맹 글링입니다. 그러나 나는 당신의 질문에 대한 답을 모른다. 좋은 질문입니다. – nalply
아마도 도움이 될 것입니다. http://www.isotton.com/devel/docs/C++-dlopen-mini-HOWTO/C++-dlopen-mini-HOWTO.html – nalply