2016-04-04 12 views
1

私はCode :: Blocksプラグインをコンパイルしています。 wxWidgets 3.0との非互換性のため、Code :: BlocksはwxWidgets 2.8に対してコンパイルされます。プラグインのCMakeでwxWidgets 2.xを強制する

CMakeLists.txtは次のとおりです。

CMAKE_MINIMUM_REQUIRED(VERSION 2.8) 

PROJECT(cbvike) 

SET(VERSION_SERIES 0) 
SET(VERSION_MAJOR 2) 
SET(VERSION_MINOR 1) 

FIND_PACKAGE(wxWidgets REQUIRED) 

INCLUDE_DIRECTORIES(${wxWidgets_INCLUDE_DIRS}) 
INCLUDE_DIRECTORIES(/usr/include/codeblocks) 
INCLUDE_DIRECTORIES(/usr/include/codeblocks/wxscintilla/include) 

ADD_DEFINITIONS(-D __WXGTK__) 
ADD_DEFINITIONS(-D __linux__) 
ADD_DEFINITIONS(-std=c++11) 

これは、いくつかの問題を引き起こす3.0 wxgtkを見つけます。私はArchを使用しているので、wxgtk 3.0用の開発パッケージを削除するだけでなく、ヘッダーは既にバンドルされています。

CMakeでwxgtk 2.xを強制するにはどうしたらいいですか?

答えて

1

それが働いていた場合まあ、私は一度互換性の2.xの/ 3.xのwxWidgetsのシリーズを作ってみる...私が見つけたことはありません...ので、予想通り、この作品なら、私に教え:

# Look for wxwidgets 
list (APPEND _COMP adv core base) 
if (UNIX) 
    set (TOOLKIT_VERSION_NEED "3.0") # change here to desired version 
    set (wxWidgets_CONFIG_OPTIONS --version=${TOOLKIT_VERSION_NEED}) 
endif() 
find_package (wxWidgets COMPONENTS ${_COMP}) 
if (wxWidgets_FOUND) 
    include (${wxWidgets_USE_FILE}) 
endif() 
+1

'set(TOOLKIT_VERSION_NEED" 2.8 ")' 'set(wxWidgets_CONFIG_OPTIONS --version = $ {TOOLKIT_VERSION_NEED})'を実行すれば十分です。 – marmistrz

+0

ああ、それはうまくいきます...良い:D – Joel

+0

そして、もし私たちが 'TOOLKIT_VERSION_NEED'という名前を変えても動作します – marmistrz

関連する問題