2016-06-03 6 views
0

나는 다음과 같은 매개 변수를 사용하여 wxWidgets에 컴파일 한 :올바른 매개 변수 Codeblocks에 wxWidgets에 컴파일 10.05

mingw32-make.exe -f makefile.gcc USE_XRC=1 USE_OPENGL=1 SHARED=0 MONOLITHIC=1 BUILD=release UNICODE=1 

하지만 codeblocks 기본적으로 프로젝트를 빌드 할 때, 나에게 다음과 같은 오류가 발생합니다 :

cannot find -lwxmsw28 

무슨 일 이니? 이 라이브러리를 작성하는 데 필요한 매개 변수는 무엇입니까?

+0

어떤 버전의 wxWidgets를 만들었습니까? 빌드 된 라이브러리는'[your wxWidgets directory] \ lib \ gcc_dll'에 있어야하며'wxmsw311.dll'과 같은 이름을 갖습니다. – iwbnwif

+0

@ JavierRodriguez, "UNICODE = 1"을 삭제할 수 있으며, 기본값으로 설정됩니다. 당신이 시작하기 때문에 당신이 쉽게 응용 프로그램을 디버깅 할 수 있도록 "BUILD = debug"가 필요하다고 생각합니다. "MONOLITHIC = 1"은 거의 사용되지 않습니다. 즉, 하나의 막대한 라이브러리를 구축하고 링커가 올바른 기능을 수행하고 필요한 기능을 바이너리로 가져 오는 것을 의미합니다. – Igor

+0

그래서, 내가 만들 줄 명령은 "mingw32-make -f makefile.gcc USE_XRC = 1 USE_OPENGL = 1 SHARED = 0 MONOLITHIC = 0 BUILD = debug"일 것입니다. 그것은 최신 3.0/3.1 코드를 작성하는 경우입니다. 어떤 이유로 든 2.8을 빌드해야하는 경우 "UNICODE = 1"을 추가해야합니다. – Igor

답변

0

make 명령에서 오류가 발생하지 않은 경우 라이브러리가 작성되어 있어야하지만 Code :: Blocks가 코드를 찾을만큼 충분하지 않습니다. 생각해 보면 어떻게 보이는지 어떻게 알 수 있습니까? 이 작업을 수행하기 위해 프로젝트의 링커 옵션에서 wxWidgets를 빌드 한 디렉토리의 lib 하위 디렉토리의 경로를 입력하여 구성해야합니다. 또한

, 제발 강하게 일부 기존 레거시 프로젝트를 진행하고 (심지어는 다음을 업데이트하고 전환해야하지 않는 한 3.0 미만의 것을 사용할 필요는 없다, 미만 10 살 버전을 사용하는 것을 고려 그럼에도 불구하고 3.0까지).

관련 문제