2010-09-19 6 views
1

Je reçois l'erreur de l'éditeur de liens suivante quand je compile mon programme avec la solution VS2008 qui est créée avec CMake pour mon application basée par wxwidgets.erreur de lien using wxwidgets avec cmake

erreur LNK2019: symbole externe non résolu _MAIN référencé dans la fonction ___tmainCRTStartup

mais je suis en mesure de compiler le même programme avec une solution VS2008 normale qui n'est pas créé avec CMake.

cmakelists.txt contenu du fichier:

cmake_minimum_required(VERSION 2.8) 

SET(CMAKE_DEBUG_POSTFIX "d") 

ADD_DEFINITIONS(-DOSG_DEBUG_POSTFIX="${CMAKE_DEBUG_POSTFIX}") 

SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) 

SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) 

SET(ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) 

SET(RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) 

set(BOOST_ROOT "E:/boost_1_38_0") 

FIND_PACKAGE(Boost 1.38.0 REQUIRED unit_test_framework) 

SET(wxWidgets_ROOT_DIR "E:/wxWidgets-2.9.0") 

find_package(wxWidgets COMPONENTS aui html adv core xml base REQUIRED) 

INCLUDE(${wxWidgets_USE_FILE}) 

ADD_EXECUTABLE(browser 
BrowserApp.cpp 
BrowserApp.h 
BrowserMain.cpp 
BrowserMain.h 
) 

TARGET_LINK_LIBRARIES(browser 
common 
${wxWidgets_LIBRARIES} 
) 

Je suis en train de faire ma course d'application sur les plates-formes à l'aide de système de construction CMake.

Toute aide est appréciée.

+1

Code de retrait avec quatre espaces pour obtenir 'monospace_font'. –

Répondre

1

Avez-vous besoin d'en faire un exécutable Win32 en utilisant la ligne add_executable suivante?

add_executable(browser WIN32 BrowserApp.cpp BrowserApp.h BrowserMain.cpp BrowserMain.h) 

De plus, si vous utilisez un CMake, vous n'avez pas raisonnablement récente d'utiliser ALL_CAPS_EVERYWHERE plus.

+0

Ça a marché pour moi. Merci beaucoup. – harik