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

Reply via email to