2017-04-03 5 views
0

나는 Xubuntu 머신에있다. 나는 소스를 다운로드하고 컴파일했고, make는 설치했다.wxWidgets에 동일한 폴더에 파일이 모두 포함되어 있습니까?

간단한 wxFrame 클래스를 만들려고하는데 <wx-3.0/wx/frame.h>을 포함하면 Can't resolve type wxFrame이라고 표시됩니다. frame.h을 보면 <wx/toplevel.h>에 대한 참조가 포함되어 있습니다. frame.htoplevel.h은 모두 같은 폴더에 있습니다. 컴파일이 포함 파일을 모두 같은 폴더에 넣지 만 파일의 경로가 다른 이유는 무엇입니까?

저는 CLion IDE를 사용 중이며 include/lib 경로는 cmake의 FIND_PACKAGE()에 의해 설정됩니다.

+0

IDE의 특성에 대해서는 잘 모르겠지만 일반적으로 wxlibs를 사용하거나 개별적으로 라이브러리를 포함하고자 할 수도 있습니다 (라이브러리를 컴파일 한 방법에 따라 다름). 그런 다음 포함 경로에 wxWidgets의 include 폴더를 포함 할 수 있습니다. 또한 마지막으로 내 시스템 lib \ vc_dll \ mswu 및 lib \ vc_dll \ mswud에있는 설치 구성을 포함시켜야합니다. – macroland

+1

은 wx에서 작동하지 않았습니다. 하지만 경로 포함 오류를 설정하는 것 같습니다. 'what/ever/path/wx/installed/wx-3.0'을 포함 경로로 설정하고'#include '을 설정해야합니다. –

답변

0

@ShrimpCrackers,

당신이 프로젝트에 샘플 코드 중 하나를 복사하여 프로젝트를 시작하고 다음 wx-config --cxxflagswx-config --libs의 출력 특성을 프로젝트 설정하기 위해 일반적으로 좋습니다.

그렇다면 wxWidgets/samples/minimal/minimal.cpp를 프로젝트가있는 디렉토리로 복사하고 프로젝트 속성을 수정하고 다시 컴파일해야합니다.

현재로서는 make install을 할 필요가 없습니다. 설치 목적을 상실한 한 시스템에서 디버그 및 라이브러리 버전을 컴파일 할 수 있습니다. 컴파일 된 버전의 라이브러리 만 사용하십시오.

+0

감사합니다. 몇 가지. 1) wake-config를 cmake와 어떻게 사용합니까? 다음 링크는 wxconfig cant가 cmake와 작동한다는 것을 의미합니다. http://stackoverflow.com/questions/31092593/how-can-i-use-cmake-to-both-build-wxwidgets-on-demand-and-link-with-it 2) 어떤 라이브러리를 링크해야합니까? 반대? usr/local/lib는 libwx로 시작하는 42 개의 .so 파일을 가지고 있습니다. 3) 나는 여전히 동일한 디렉토리에있는 두 개 이상의 헤더 파일에 하나의 폴더가 될 것으로 기대되는 #include 경로가있는 이유를 알지 못합니다. 예를 들어 fileA.h와 fileB.h는 같은 위치에 있지만 fileA.h는 fileB.h를 wx/fileB.h로 참조합니다. – ShrimpCrackers

+0

@ShrimpCrackers, 가장 좋은 제안 - CMake를 사용하지 마십시오. ;-) 1. CMake가 생성하는 Makefile이 적절한 매개 변수를 사용하여 wx-config를 호출 할 것이라고 확신합니다. 그리고 예 - wxWidgets 라이브러리를 찾아 올바르게 파싱하려면 링크 된 질문에 대한 첫 번째 답변의'find_package()'호출을 사용해야합니다. 2. 나는 불행히도 당신을 도울 수 없습니다 - 당신은 다른 어떤 것보다 소프트웨어를 잘 압니다. 최소 집합은 기본 및 핵심 라이브러리입니다. 그냥 해봐. 이렇게하면 링크 오류가 발생하여 라이브러리 누락을 알 수 있습니다. 그런 다음 여기로 돌아 오면 해결할 것입니다. – Igor

+0

@ShrimpCrackers, 3. 이것이 맞는 것 같지 않습니다. 이 코드를 볼 수있는 코드 부분을 참조 할 수 있습니까? 해당 스 니펫으로 OP를 편집하십시오. 또한 1을 위해 - IDE를 사용하고 프로젝트 속성을 직접 설정하십시오. Anjuta 3에는 wxWidgets에서 사용할 수있는 템플릿이 있습니다. – Igor