Hi Alan
I am having linking errors on the latest git clone in Windows when I use
wxWidgets.
It seems that the all the examples (or plplot.lib) are trying to link with
wxWidgets , and I get this kind of errors
------ Build started: Project: x00c, Configuration: Debug Win32 ------
plplot.lib(wxwidgets.obj) : error LNK2019: unresolved external symbol "void
__cdecl wxEntryCleanup(void)" (?wxEntryCleanup@@YAXXZ) referenced in
function __catch$?plD_bop_wxwidgets@@YAXPAUPLStream@@@Z$1
I tried the same cmake call on my PLplot 5.11.1 version and no problems, so
I am sure it's not my cmake call or my wxWidgets.
my cmake call is
cmake ".." -G "Visual Studio
14" -DPL_DOUBLE:BOOL=ON -DBUILD_TEST:BOOL=ON -DCMAKE_CONFIGURATION_TYPES:STRING="Debug"
-DCMAKE_BUILD_TYPE:STRING="Debug" -DBUILD_SHARED_LIBS:BOOL=OFF -DSTATIC_RUNTIME:BOOL=ON
-DPLD_wxwidgets:BOOL=ON -DwxWidgets_ROOT_DIR:PATH=%WXWIN% -DwxWidgets_LIB_DIR:PATH=%WXWIN%\lib\vc_lib
-DwxWidgets_CONFIGURATION=mswud -DENABLE_MIX_CXX=ON -DwxWidgets_EXCLUDE_COMMON_LIBRARIES:BOOL=OFF
and the output is attached
I'm trying to figure out this by looking for ${wxwidgets_LINK_FLAGS} in the
scripts;
all the mentions of it are below, in 4 different source files.
P:\plplot\plplot\bindings\wxwidgets\CMakeLists.txt(76):
target_link_libraries(plplotwxwidgets PRIVATE plplot plplotcxx
${wxwidgets_LINK_FLAGS})
P:\plplot\plplot\bindings\wxwidgets\CMakeLists.txt(78):
target_link_libraries(plplotwxwidgets PUBLIC plplot plplotcxx
${wxwidgets_LINK_FLAGS})
P:\plplot\plplot\bindings\wxwidgets\CMakeLists.txt(119):
pkg_config_file("wxwidgets" "wxWidgets" " wxWidgets binding"
"plplotwxwidgets" "${libplplotwxwidgets_COMPILE_FLAGS}"
"-lplplot;-lplplotcxx;${wxwidgets_LINK_FLAGS}")
P:\plplot\plplot\cmake\modules\wxwidgets.cmake(27):#
widgets_LINK_FLAGS - list of full path names of libraries and
P:\plplot\plplot\cmake\modules\wxwidgets.cmake(57):
cmake_link_flags(wxwidgets_LINK_FLAGS "${wxWidgets_LIBRARIES}")
P:\plplot\plplot\cmake\modules\wxwidgets.cmake(58): if(NOT
wxWidgets_FOUND OR NOT wxwidgets_LINK_FLAGS)
P:\plplot\plplot\cmake\modules\wxwidgets.cmake(65): else(NOT
wxWidgets_FOUND OR NOT wxwidgets_LINK_FLAGS)
P:\plplot\plplot\cmake\modules\wxwidgets.cmake(68): endif(NOT
wxWidgets_FOUND OR NOT wxwidgets_LINK_FLAGS)
P:\plplot\plplot\cmake\modules\wxwidgets.cmake(126): message(STATUS
"wxwidgets_LINK_FLAGS = ${wxwidgets_LINK_FLAGS}")
P:\plplot\plplot\cmake\modules\wxwidgets.cmake(144):
wxwidgets_LINK_FLAGS
P:\plplot\plplot\cmake\modules\wxwidgets.cmake(145):
${wxwidgets_LINK_FLAGS}
P:\plplot\plplot\cmake\modules\wxwidgets.cmake(156): wxwidgets_LINK_FLAGS
P:\plplot\plplot\cmake\modules\wxwidgets.cmake(157):
${wxwidgets_LINK_FLAGS}
P:\plplot\plplot\cmake\modules\wxwidgets.cmake(183):
${wxwidgets_LINK_FLAGS}
P:\plplot\plplot\examples\c++\CMakeLists.txt(131):
target_link_libraries(wxPLplotDemo plplotwxwidgets plplotcxx
${wxwidgets_LINK_FLAGS} ${MATH_LIB})
P:\plplot\plplot\examples\c++\CMakeLists.txt(133): # Transform
wxwidgets_LINK_FLAGS from list of libraries to the standard pkg-config form
P:\plplot\plplot\examples\c++\CMakeLists.txt(135):
pkg_config_link_flags(pkg_config_wxwidgets_LINK_FLAGS
"${wxwidgets_LINK_FLAGS}")
P:\plplot\plplot\utils\CMakeLists.txt(92):
target_link_libraries(wxPLViewer plplotwxwidgets plplotcxx
${wxwidgets_LINK_FLAGS} ${MATH_LIB} ${RT_LIB})
Matching lines: 18 Matching files: 4 Total files searched: 370
-- The C compiler identification is MSVC 19.0.24213.1
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio
14.0/VC/bin/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio
14.0/VC/bin/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- CMake version = 3.6.2
-- CMAKE_SYSTEM_NAME = Windows
-- SH_EXECUTABLE = SH_EXECUTABLE-NOTFOUND
-- WARNING: bash shell not found, ctest will not work properly
-- Checking whether system has ANSI C header files
-- Looking for 4 include files stdlib.h, ..., float.h
-- Looking for 4 include files stdlib.h, ..., float.h - found
-- Performing Test memchrExists
-- Performing Test memchrExists - Success
-- Performing Test freeExists
-- Performing Test freeExists - Success
-- Check for whether ctype.h macros work on characters with the
high bit set.
-- High-bit characters - work
-- ANSI C header files - found
-- Looking for include file unistd.h
-- Looking for include file unistd.h - not found
-- Looking for include file termios.h
-- Looking for include file termios.h - not found
-- Looking for include file stdint.h
-- Looking for include file stdint.h - found
-- Looking for crt_externs.h
-- Looking for crt_externs.h - not found
-- Performing Test HAVE_SYS_WAIT_H
-- Performing Test HAVE_SYS_WAIT_H - Failed
-- Looking for DIR symbol in sys/types.h;dirent.h
-- Looking for DIR symbol in sys/types.h;dirent.h - not found.
-- Looking for DIR symbol in sys/types.h;sys/ndir.h
-- Looking for DIR symbol in sys/types.h;sys/ndir.h - not found.
-- Looking for DIR symbol in sys/types.h;sys/dir.h
-- Looking for DIR symbol in sys/types.h;sys/dir.h - not found.
-- Looking for DIR symbol in sys/types.h;ndir.h
-- Looking for DIR symbol in sys/types.h;ndir.h - not found.
-- Check for signal return type in <signal.h>
-- Check for signal handler return type type void - found
-- Looking for popen
-- Looking for popen - not found
-- Looking for usleep
-- Looking for usleep - not found
-- Looking for nanosleep
-- Looking for nanosleep - not found
-- Looking for mkstemp
-- Looking for mkstemp - not found
-- Looking for mkdtemp
-- Looking for mkdtemp - not found
-- Looking for mkfifo
-- Looking for mkfifo - not found
-- Looking for unlink
-- Looking for unlink - found
-- Looking for _NSGetArgc
-- Looking for _NSGetArgc - not found
-- Looking for isfinite
-- Looking for isfinite - found
-- Looking for finite
-- Looking for finite - not found
-- Looking for isnan
-- Looking for isnan - found
-- Looking for isinf
-- Looking for isinf - found
-- Looking for snprintf
-- Looking for snprintf - found
-- SWIG was not found. Please specify Swig executable location
-- Could NOT find Perl (missing: PERL_EXECUTABLE)
-- The CXX compiler identification is MSVC 19.0.24213.1
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual
Studio 14.0/VC/bin/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual
Studio 14.0/VC/bin/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for using namespace support
-- Check for using namespace - found
-- Looking for C++ include cmath
-- Looking for C++ include cmath - found
-- Check for using stdint.h with CXX compiler
-- Check for using stdint.h with CXX compiler - ok
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
-- Looking for pkg-config - not found
-- WARNING: Makefile+pkg-config version of examples build in the install tree
will not work.
-- X11_FOUND =
-- X11_INCLUDE_DIR =
-- X11_COMPILE_FLAGS =
-- X11_LIBRARIES =
-- A test cmake run with language = Fortran enabled failed.
-- Specify -DENABLE_compiler_diagnostics=ON to see full CMake diagnostics
concerning this failure.
-- WARNING: no working Fortran compiler so disabling f95 binding and examples.
-- WARNING: Java requires shared libraries. Disabling java binding
-- WARNING: Python binding fixup requires sed which was not found. Disabling
Python binding
-- WARNING: swig not found. Disabling Octave binding
-- Start determining consistent system data for Tcl and friends
-- Could NOT find Tclsh (missing: TCL_TCLSH)
-- Could NOT find TCL (missing: TCL_LIBRARY TCL_INCLUDE_PATH)
-- Could NOT find TCLTK (missing: TCL_LIBRARY TCL_INCLUDE_PATH TK_LIBRARY TK_INCLUDE_PATH)
-- Could NOT find TK (missing: TK_LIBRARY TK_INCLUDE_PATH)
-- Looking for Tcl - not found
-- WARNING: setting ENABLE_tcl to OFF
-- WARNING: ENABLE_tcl is OFF so disabling everything else that is Tcl/Tk
related
-- A test cmake run with language = Ada enabled failed.
-- Specify -DENABLE_compiler_diagnostics=ON to see full CMake diagnostics
concerning this failure.
-- WARNING: no working Ada compiler so disabling Ada binding and examples.
-- WARNING: Lua requires shared libraries. Disabling Lua binding
-- WARNING: SHAPELIB not found. Setting HAVE_SHAPELIB to OFF.
-- Could NOT find Freetype (missing: FREETYPE_LIBRARY FREETYPE_INCLUDE_DIRS)
-- Check for NaN awareness in C compiler
-- Check for NaN awareness in C compiler - found
-- Neither qhull/qhull_a.h header nor libqhull/qhull_a.h could be found
-- qhull library could not be found
-- Could NOT find QHULL (missing: QHULL_INCLUDE_DIRS QHULL_LIBRARIES QHULL_LIBRARY_DIRS)
-- QHULL_INCLUDE_DIRS =
-- QHULL_LIBRARIES =
-- WARNING: at least one of QHULL_INCLUDE_DIRS or QHULL_LIBRARIES is false so setting PL_HAVE_QHULL to OFF.
-- WARNING: pango not found because pkg-config not available.
-- WARNING: Shared libraries not built. Setting ENABLE_DYNDRIVERS OFF.
-- WARNING: pkg-config not found. Setting cairo drivers to OFF.
-- WARNING: ENABLE_tk OFF. Therefore turning off tk, tkwin, and ntk devices
-- WARNING: pkg-config not found. Setting PLD_psttf to OFF.
-- Found unsuitable Qt version "" from NOTFOUND
-- WARNING: Suitable Qt4 development environment not found so trying Qt5
instead.
CMake Warning at cmake/modules/qt.cmake:144 (find_package):
By not providing "FindQt5.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Qt5", but
CMake did not find one.
Could not find a package configuration file provided by "Qt5" (requested
version 5.3.1) with any of the following names:
Qt5Config.cmake
qt5-config.cmake
Add the installation prefix of "Qt5" to CMAKE_PREFIX_PATH or set "Qt5_DIR"
to a directory containing one of the above files. If "Qt5" provides a
separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
cmake/modules/drivers.cmake:96 (include)
cmake/modules/plplot.cmake:549 (include)
CMakeLists.txt:135 (include)
-- WARNING: Suitable Qt5 development environment not found so disabling qt
-- WARNING: ENABLE_qt is OFF so setting all qt devices to OFF.
-- WARNING: PLPLOT_USE_QT5 is ON so setting ENABLE_pyqt4 to OFF.
-- WARNING: ENABLE_python is OFF so setting ENABLE_pyqt5 to OFF.
-- Looking for gdi32 header and library
-- Looking for gdi32 header and library - not found
-- WARNING: Setting PLD_wingcc to OFF.
-- wxWidgets_FOUND : TRUE
-- wxWidgets_INCLUDE_DIRS :
M:/wx/wxwidgets-3.1.0/lib/vc_lib/mswud;M:/wx/wxwidgets-3.1.0/include
-- wxWidgets_LIBRARY_DIRS :
-- wxWidgets_LIBRARIES : winmm;comctl32;rpcrt4;wsock32
-- wxWidgets_CXX_FLAGS :
-- wxWidgets_USE_FILE : UsewxWidgets
-- Checking whether wxwidgets version >= 3.0.0
-- Performing Test WX_VERSION_LARGE_ENOUGH
-- Performing Test WX_VERSION_LARGE_ENOUGH - Success
-- wxwidgets_COMPILE_FLAGS = -IM:/wx/wxwidgets-3.1.0/lib/vc_lib/mswud
-IM:/wx/wxwidgets-3.1.0/include -DUNICODE -D_UNICODE -D_DEBUG -D__WXDEBUG__
-- wxwidgets_LINK_FLAGS = winmm;comctl32;rpcrt4;wsock32
-- Looking for haru pdf header and library
-- Looking for haru pdf header and library - not found
-- WARNING: Setting PLD_pdf to OFF.
-- WARNING: Static build with ENABLE_ocaml_static false. Therefore, disabling
OCaml binding
-- WARNING: ENABLE_ocaml is OFF so disabling Plcairo module and lablgtk2 support
-- WARNING: validate target will not be available to check for syntax issues in
the PLplot DocBook documentation because onsgmls (or env) was not found.
pc_libplplot_LINK_FLAGS = winmm;comctl32;rpcrt4;wsock32;-lcsirocsa;-lqsastime
-- WARNING: Perl modules XML::Parser and/or XML::DOM not available
so cannot check that swig_documentation.i is up to date.
-- WARNING: pkg-config not found so extXdrawable_demo, and ext-cairo-test not
built.
Summary of CMake build system results for PLplot
Install location variables which can be set by the user:
CMAKE_INSTALL_PREFIX: C:/Program Files (x86)/plplot
CMAKE_INSTALL_EXEC_PREFIX C:/Program Files (x86)/plplot
CMAKE_INSTALL_BINDIR C:/Program Files (x86)/plplot/bin
CMAKE_INSTALL_DATADIR C:/Program Files (x86)/plplot/share
CMAKE_INSTALL_LIBDIR C:/Program Files (x86)/plplot/lib
CMAKE_INSTALL_INCLUDEDIR C:/Program Files (x86)/plplot/include
CMAKE_INSTALL_INFODIR C:/Program Files (x86)/plplot/share/info
CMAKE_INSTALL_MANDIR C:/Program Files (x86)/plplot/share/man
Derived install location variables:
DATA_DIR C:/Program Files (x86)/plplot/share/plplot5.11.1
LIB_DIR C:/Program Files (x86)/plplot/lib
INCLUDE_DIR C:/Program Files (x86)/plplot/include/plplot
BIN_DIR C:/Program Files (x86)/plplot/bin
TCL_DIR C:/Program Files (x86)/plplot/share/plplot5.11.1/tcl
ADA_INCLUDE_DIR C:/Program Files (x86)/plplot/share/ada/adainclude/plplotada
ADA_LIB_DIR C:/Program Files (x86)/plplot/lib/ada/adalib/plplotada
PYTHON_INSTDIR
DRV_DIR C:/Program Files (x86)/plplot/lib/plplot5.11.1/drivers
DOC_DIR C:/Program Files (x86)/plplot/share/doc/plplot
MAN_DIR C:/Program Files (x86)/plplot/share/man
INFO_DIR C:/Program Files (x86)/plplot/share/info
Other important CMake variables:
CMAKE_SYSTEM_NAME: Windows
UNIX:
WIN32: 1
APPLE:
MSVC: 1 (MSVC_VERSION: 1900)
MINGW:
MSYS:
CYGWIN:
BORLAND:
WATCOM:
SWIG_FOUND: FALSE
PERL_FOUND: FALSE
X11_FOUND:
CMAKE_BUILD_TYPE: Debug
CMAKE_C_COMPILER CMAKE_C_FLAGS: C:/Program Files
(x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe /DWIN32 /D_WINDOWS /W3
CMAKE_CXX_COMPILER CMAKE_CXX_FLAGS: C:/Program Files
(x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe /DWIN32 /D_WINDOWS /W3 /GR
/EHsc
ENABLE_DYNDRIVERS: OFF
DRIVERS_LIST: mem;null;ps;svg;wxwidgets;xfig
DEVICES_LIST: mem;null;ps;svg;wxwidgets;xfig
Library options:
BUILD_SHARED_LIBS: OFF PL_DOUBLE: ON
Optional libraries:
PL_HAVE_QHULL: OFF WITH_CSA: ON
PL_HAVE_FREETYPE: PL_HAVE_PTHREAD:
HAVE_AGG: HAVE_SHAPELIB: OFF
Language Bindings:
ENABLE_ada: OFF
ENABLE_cxx: ON
ENABLE_d: OFF
ENABLE_f95: OFF
ENABLE_java: OFF
ENABLE_lua: OFF
ENABLE_ocaml: OFF
ENABLE_octave: OFF
ENABLE_pdl: OFF
ENABLE_python: OFF
ENABLE_qt: OFF
ENABLE_pyqt4: OFF
ENABLE_pyqt5: OFF
ENABLE_tcl: OFF
ENABLE_itcl: OFF
ENABLE_tk: OFF
ENABLE_itk: OFF
ENABLE_wxwidgets: ON
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:
ENABLE_MIX_CXX
-- Build files have been written to: P:/plplot/plplot/build
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel