[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Building library for Windows
[Thread Prev] | [Thread Next]
- Subject: Re: Building library for Windows
- From: Robin Mills <robin@xxxxxxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Thu, 29 Sep 2016 20:24:11 +0100
- To: "libssh@xxxxxxxxxx" <libssh@xxxxxxxxxx>
I have doubts about using cmake-3.6.2-win32-x86 on MinGW. The fact that your Makefile throws you into a DOS shell confirms my suspicion that cmake-3.6.2-win32-x86 is intended for use from DOS. It generates Makefiles that use DOS commands. You should build cmake in MinGW from source and and use $ make install it (into /usr/bin/cmake.exe) I built my cmake/MinGW/32 from source. I had to edit an included MS/sdk file (sdkddkver.h) to ignore a pragma that killed the cmake bootstrap. However I got cmake.exe built and I believe it’s working OK. Cross-compiling is probably your best bet. I’ve also read that cross compiling is much faster. /////////////////// I discovered this afternoon (from comments in our buildserver scripts) that I have never succeeded in getting libssh to build on MinGW/32! libssh is an optional part of Exiv2. Exiv2 builds fine on MinGW/32 using the autotools without the optional libssh. Exiv2 builds with CMake (and autotools) on Linux, MacOS-X, Cygwin and MSVC (2005,8,10,12,13 and 15). I’ve given up trying to build Exiv2 with CMake on MinGW/32. MinGW/32/CMake seems to be a toxic mix. Robin http://clanmills.com > On 29 Sep 2016, at 19:50, Servesh Singh <ssingh@xxxxxxxxxxxx> wrote: > > Hi Robin. > Thanks for your help. > I will try cross-compilation if MinGW does not work. > > I am trying 32 bit only. > > Version Details: > > gcc is from perl installation: > $ /c/Dwimperl/c/bin/gcc.exe --version > gcc.exe (GCC) 4.4.7 20111023 (prerelease) [svn/rev.180339 - mingw-w64/oz] > > > $ cmake.exe --version > cmake version 3.6.2 > > > $ make --version > GNU Make 3.81 > > Steps I tried. > 1) MinGW was installed. Using msys environment for all the command execution. > 2) compiled zlib and installed (zlib-1.2.8) > 3) compiled openssl and installed (openssl-1.0.2h) > 4) installed 32 bit version of cmake version 3.6.2 > 5) cmake-3.6.2-win32-x86. > 6) downloaded source libssh-0.7.3. > 7) created build directory inside libssh-0.7.3 source code and executed cmake-gui.exe .. > 8) Did Configure and Generate using GUI tool. > 10) Did cmake .. in directory build. It passed. > 11) Now whenever I do 'make' inside build direcoty I immediately get windows cmd shell shown as below > > $ pwd > /home/libssh-0.7.3/build > > ssingh@IN-SSingh-LT /home/libssh-0.7.3/build > $ make > Microsoft Windows [Version 6.1.7601] > Copyright (c) 2009 Microsoft Corporation. All rights reserved. > > C:\MinGW\msys\1.0\home\libssh-0.7.3\build> > > > > I found that Generated make files have SHELL set to cmd.exe > I am not sure what to do after step (8) i.e. after doing Configure and Generate of make files. > I am not able to trigger build itself and you are at least able to build 2%. > > > Regards, > Servesh > > ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > From: Robin Mills [mailto:robinwmills@xxxxxxxxx] On Behalf Of Robin Mills > Sent: 29 September 2016 17:57 > To: libssh@xxxxxxxxxx > Subject: Re: Building library for Windows > > Tilo is offering good advice. Perhaps cross-compiling may be a simpler way to deal with this. I don’t know anything about cross-compiling. > > I couldn’t get this to build with MinGW/32. The status is: > > 1 I’m using libssh-0.7.3 > 2 cmake 3.6.2 generates make files > 3 Compiler fails with both: > a) gcc/g++ 4.8.1 (which is provided by msys/1.0) > b) gcc/g++ 4.9.2 (which is bundled with Qt 5.6.1) > > The compiler issue occurs at 2% - almost immediately. "Conflicting types of ‘int8_t'" > > Obviously, if it doesn’t compile, it will not link and cannot be installed. > > Are you building 32 bit or 64 bit? I am willing to put in more effort. Let’s be certain we are using the same tools set (version of GCC, CMake and libssh). > > Robin > > On 29 Sep 2016, at 12:28, Servesh Singh <ssingh@xxxxxxxxxxxx> wrote: > > Hi Robin/Tilo, > Thanks for quick response and it helped me to compile zlib and openssl . > I could generate CMakeCache.txt file but I don't what to do next. Below is log of cmake and content of CMakeCache.txt generated from cmake-gui.exe. > For me, make and make install are not working. > > ssingh@IN-SSingh-LT /home/libssh-0.7.3/build > $ cmake .. > -- Could NOT find NSIS (missing: NSIS_MAKE) > -- Could NOT find GSSAPI (missing: GSSAPI_LIBRARIES GSSAPI_INCLUDE_DIR) > -- Could NOT find NaCl (missing: NACL_LIBRARIES NACL_INCLUDE_DIRS) > -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) > -- Threads_FOUND=TRUE > -- threads library: Threads_FOUND=TRUE > -- ******************************************** > -- ********** libssh build options : ********** > -- zlib support: ON > -- libgcrypt support: OFF > -- libnacl support: OFF > -- SSH-1 support: OFF > -- SFTP support: ON > -- Server support : ON > -- GSSAPI support : 0 > -- Pcap debugging support : ON > -- With static library: ON > -- Unit testing: OFF > -- Client code Unit testing: OFF > -- Public API documentation generation > -- Benchmarks: OFF > -- ******************************************** > -- Configuring done > -- Generating done > -- Build files have been written to: C:/MinGW/msys/1.0/home/libssh-0.7.3/build > > ssingh@IN-SSingh-LT /home/libssh-0.7.3/build > $ > > > > > # This is the CMakeCache file. > # For build in directory: c:/MinGW/msys/1.0/home/libssh-0.7.3/build > # It was generated by CMake: C:/MinGW/msys/1.0/cmake/bin/cmake.exe > # You can edit this file to change values found and used by cmake. > # If you do not want to change any of the values, simply exit the editor. > # If you do want to change a value, simply edit, save, and exit the editor. > # The syntax for the file is as follows: > # KEY:TYPE=VALUE > # KEY is the name of a variable in the cache. > # TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. > # VALUE is the current value for the KEY. > > ######################## > # EXTERNAL cache entries > ######################## > > //- > BIN_INSTALL_DIR:PATH=bin > > //Path to a program. > CMAKE_AR:FILEPATH=C:/Dwimperl/c/bin/ar.exe > > //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or > // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. > CMAKE_BUILD_TYPE:STRING=Release > > //Enable/Disable color output during build. > CMAKE_COLOR_MAKEFILE:BOOL=ON > > //CXX compiler > CMAKE_CXX_COMPILER:FILEPATH=C:/Dwimperl/c/bin/g++.exe > > //Flags used by the compiler during all build types. > CMAKE_CXX_FLAGS:STRING= > > //Flags used by the compiler during debug builds. > CMAKE_CXX_FLAGS_DEBUG:STRING=-g > > //Flags used by the compiler during release builds for minimum > // size. > CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG > > //Flags used by the compiler during release builds. > CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG > > //Flags used by the compiler during release builds with debug info. > CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG > > //Libraries linked by default with all C++ applications. > CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 > > //C compiler > CMAKE_C_COMPILER:FILEPATH=C:/Dwimperl/c/bin/gcc.exe > > //Flags used by the compiler during all build types. > CMAKE_C_FLAGS:STRING= > > //Flags used by the compiler during debug builds. > CMAKE_C_FLAGS_DEBUG:STRING=-g > > //Flags used by the compiler during release builds for minimum > // size. > CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG > > //Flags used by the compiler during release builds. > CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG > > //Flags used by the compiler during release builds with debug info. > CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG > > //Libraries linked by default with all C applications. > CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 > > //Flags used by the linker. > CMAKE_EXE_LINKER_FLAGS:STRING= > > //Flags used by the linker during debug builds. > CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= > > //Flags used by the linker during release minsize builds. > CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= > > //Flags used by the linker during release builds. > CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= > > //Flags used by the linker during Release with Debug Info builds. > CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= > > //Convert GNU import libraries to MS format (requires Visual Studio) > CMAKE_GNUtoMS:BOOL=OFF > > //- > CMAKE_INSTALL_DIR:PATH=CMake > > //Install path prefix, prepended onto install directories. > CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/libssh > > //Path to a program. > CMAKE_LINKER:FILEPATH=C:/Dwimperl/c/bin/ld.exe > > //Path to a program. > CMAKE_MAKE_PROGRAM:FILEPATH=C:/MinGW/bin/mingw32-make.exe > > //Flags used by the linker during the creation of modules. > CMAKE_MODULE_LINKER_FLAGS:STRING= > > //Flags used by the linker during debug builds. > CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= > > //Flags used by the linker during release minsize builds. > CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= > > //Flags used by the linker during release builds. > CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= > > //Flags used by the linker during Release with Debug Info builds. > CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= > > //Path to a program. > CMAKE_NM:FILEPATH=C:/Dwimperl/c/bin/nm.exe > > //Path to a program. > CMAKE_OBJCOPY:FILEPATH=C:/Dwimperl/c/bin/objcopy.exe > > //Path to a program. > CMAKE_OBJDUMP:FILEPATH=C:/Dwimperl/c/bin/objdump.exe > > //Value Computed by CMake > CMAKE_PROJECT_NAME:STATIC=libssh > > //Path to a program. > CMAKE_RANLIB:FILEPATH=C:/Dwimperl/c/bin/ranlib.exe > > //RC compiler > CMAKE_RC_COMPILER:FILEPATH=C:/Dwimperl/c/bin/windres.exe > > //Flags for Windows Resource Compiler. > CMAKE_RC_FLAGS:STRING=' ' > > //Path to a program. > CMAKE_SH:FILEPATH=C:/MinGW/bin/sh.exe > > //Flags used by the linker during the creation of dll's. > CMAKE_SHARED_LINKER_FLAGS:STRING= > > //Flags used by the linker during debug builds. > CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= > > //Flags used by the linker during release minsize builds. > CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= > > //Flags used by the linker during release builds. > CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= > > //Flags used by the linker during Release with Debug Info builds. > CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= > > //If set, runtime paths are not added when installing shared libraries, > // but are added when building. > CMAKE_SKIP_INSTALL_RPATH:BOOL=OFF > > //If set, runtime paths are not added when using shared libraries. > CMAKE_SKIP_RPATH:BOOL=OFF > > //Flags used by the linker during the creation of static libraries. > CMAKE_STATIC_LINKER_FLAGS:STRING= > > //Flags used by the linker during debug builds. > CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= > > //Flags used by the linker during release minsize builds. > CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= > > //Flags used by the linker during release builds. > CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= > > //Flags used by the linker during Release with Debug Info builds. > CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= > > //Path to a program. > CMAKE_STRIP:FILEPATH=C:/Dwimperl/c/bin/strip.exe > > //If this value is on, makefiles will be generated without the > // .SILENT directive, and all commands will be echoed to the console > // during the make. This is useful for debugging only. With Visual > // Studio IDE projects all commands are done without /nologo. > CMAKE_VERBOSE_MAKEFILE:BOOL=OFF > > //Graphviz Dot tool for using Doxygen > DOXYGEN_DOT_EXECUTABLE:FILEPATH=DOXYGEN_DOT_EXECUTABLE-NOTFOUND > > //Doxygen documentation generation tool (http://www.doxygen.org) > DOXYGEN_EXECUTABLE:FILEPATH=DOXYGEN_EXECUTABLE-NOTFOUND > > //Path to a file. > GSSAPI_INCLUDE_DIR:PATH=GSSAPI_INCLUDE_DIR-NOTFOUND > > //Path to a file. > GSSAPI_ROOT_DIR:PATH=GSSAPI_ROOT_DIR-NOTFOUND > > //- > HTML_INSTALL_DIR:PATH=doc/HTML > > //- > ICON_INSTALL_DIR:PATH=icons > > //- > INCLUDE_INSTALL_DIR:PATH=include > > //Path to a library. > LIB_EAY:FILEPATH=C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a > > //- > LIB_INSTALL_DIR:PATH=lib > > //- > LOCALE_INSTALL_DIR:PATH=lang > > //Path to a file. > NACL_INCLUDE_DIR:PATH=NACL_INCLUDE_DIR-NOTFOUND > > //Path to a library. > NACL_LIBRARY:FILEPATH=NACL_LIBRARY-NOTFOUND > > //Path to a program. > NSIS_MAKE:FILEPATH=NSIS_MAKE-NOTFOUND > > //Path to a file. > NSIS_ROOT_PATH:PATH=NSIS_ROOT_PATH-NOTFOUND > > //Path to a file. > OPENSSL_INCLUDE_DIR:PATH=C:/MinGW/msys/1.0/local/include > > //- > PLUGIN_INSTALL_DIR:PATH=plugins > > //- > SBIN_INSTALL_DIR:PATH=sbin > > //- > SOUND_INSTALL_DIR:PATH=soudns > > //Path to a library. > SSL_EAY:FILEPATH=C:/MinGW/msys/1.0/local/lib/libssl.dll.a > > //Build benchmarks tools > WITH_BENCHMARKS:BOOL=OFF > > //Build with client tests; requires a running sshd > WITH_CLIENT_TESTING:BOOL=OFF > > //Build with calltrace debug output > WITH_DEBUG_CALLTRACE:BOOL=ON > > //Build with cryto debug output > WITH_DEBUG_CRYPTO:BOOL=OFF > > //Build examples > WITH_EXAMPLES:BOOL=ON > > //Compile against libgcrypt > WITH_GCRYPT:BOOL=OFF > > //Build with GSSAPI support > WITH_GSSAPI:BOOL=ON > > //Compile doxygen internal documentation > WITH_INTERNAL_DOC:BOOL=OFF > > //Build with libnacl (curve25519 > WITH_NACL:BOOL=ON > > //Compile with Pcap generation support > WITH_PCAP:BOOL=ON > > //Build with SSH server support > WITH_SERVER:BOOL=ON > > //Build with SFTP support > WITH_SFTP:BOOL=ON > > //Build with SSH1 support > WITH_SSH1:BOOL=OFF > > //Build with a static library > WITH_STATIC_LIB:BOOL=ON > > //Build with unit tests > WITH_TESTING:BOOL=OFF > > //Build with ZLIB support > WITH_ZLIB:BOOL=ON > > //Path to a file. > ZLIB_INCLUDE_DIR:PATH=C:/MinGW/msys/1.0/mingw/include > > //Path to a library. > ZLIB_LIBRARY_DEBUG:FILEPATH=ZLIB_LIBRARY_DEBUG-NOTFOUND > > //Path to a library. > ZLIB_LIBRARY_RELEASE:FILEPATH=C:/MinGW/msys/1.0/mingw/lib/libz.a > > //Value Computed by CMake > libssh-examples_BINARY_DIR:STATIC=C:/MinGW/msys/1.0/home/libssh-0.7.3/build/examples > > //Value Computed by CMake > libssh-examples_SOURCE_DIR:STATIC=C:/MinGW/msys/1.0/home/libssh-0.7.3/examples > > //Value Computed by CMake > libssh-headers-x_BINARY_DIR:STATIC=C:/MinGW/msys/1.0/home/libssh-0.7.3/build/include > > //Value Computed by CMake > libssh-headers-x_SOURCE_DIR:STATIC=C:/MinGW/msys/1.0/home/libssh-0.7.3/include > > //Value Computed by CMake > libssh-headers_BINARY_DIR:STATIC=C:/MinGW/msys/1.0/home/libssh-0.7.3/build/include/libssh > > //Value Computed by CMake > libssh-headers_SOURCE_DIR:STATIC=C:/MinGW/msys/1.0/home/libssh-0.7.3/include/libssh > > //Value Computed by CMake > libssh-library_BINARY_DIR:STATIC=C:/MinGW/msys/1.0/home/libssh-0.7.3/build/src > > //Value Computed by CMake > libssh-library_SOURCE_DIR:STATIC=C:/MinGW/msys/1.0/home/libssh-0.7.3/src > > //Value Computed by CMake > libssh-threads_BINARY_DIR:STATIC=C:/MinGW/msys/1.0/home/libssh-0.7.3/build/src/threads > > //Value Computed by CMake > libssh-threads_SOURCE_DIR:STATIC=C:/MinGW/msys/1.0/home/libssh-0.7.3/src/threads > > //Value Computed by CMake > libssh_BINARY_DIR:STATIC=C:/MinGW/msys/1.0/home/libssh-0.7.3/build > > //Value Computed by CMake > libssh_SOURCE_DIR:STATIC=C:/MinGW/msys/1.0/home/libssh-0.7.3 > > //Dependencies for the target > ssh_shared_LIB_DEPENDS:STATIC=general;ws2_32;general;C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a;general;C:/MinGW/msys/1.0/mingw/lib/libz.a;general;ws2_32;general;C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a;general;C:/MinGW/msys/1.0/mingw/lib/libz.a;general;ws2_32;general;C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a;general;C:/MinGW/msys/1.0/mingw/lib/libz.a;general;ws2_32;general;C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a;general;C:/MinGW/msys/1.0/mingw/lib/libz.a;general;ws2_32;general;C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a;general;C:/MinGW/msys/1.0/mingw/lib/libz.a;general;ws2_32;general;C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a;general;C:/MinGW/msys/1.0/mingw/lib/libz.a;general;ws2_32;general;C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a;general;C:/MinGW/msys/1.0/mingw/lib/libz.a;general;ws2_32;general;C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a;general;C:/MinGW/msys/1.0/mingw/lib/libz.a;general;ws2_32;general;C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a;general;C:/MinGW/msys/1.0/mingw/lib/libz.a; > > //Dependencies for target > ssh_static_LIB_DEPENDS:STATIC= > > > ######################## > # INTERNAL cache entries > ######################## > > //ADVANCED property for variable: CMAKE_AR > CMAKE_AR-ADVANCED:INTERNAL=1 > //This is the directory where this CMakeCache.txt was created > CMAKE_CACHEFILE_DIR:INTERNAL=c:/MinGW/msys/1.0/home/libssh-0.7.3/build > //Major version of cmake used to create the current loaded cache > CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 > //Minor version of cmake used to create the current loaded cache > CMAKE_CACHE_MINOR_VERSION:INTERNAL=6 > //Patch version of cmake used to create the current loaded cache > CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 > //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE > CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 > //Path to CMake executable. > CMAKE_COMMAND:INTERNAL=C:/MinGW/msys/1.0/cmake/bin/cmake.exe > //Path to cpack program executable. > CMAKE_CPACK_COMMAND:INTERNAL=C:/MinGW/msys/1.0/cmake/bin/cpack.exe > //Path to ctest program executable. > CMAKE_CTEST_COMMAND:INTERNAL=C:/MinGW/msys/1.0/cmake/bin/ctest.exe > //ADVANCED property for variable: CMAKE_CXX_COMPILER > CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS > CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG > CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL > CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE > CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO > CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES > CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_COMPILER > CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS > CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG > CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL > CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE > CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO > CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES > CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 > //Path to cache edit program executable. > CMAKE_EDIT_COMMAND:INTERNAL=C:/MinGW/msys/1.0/cmake/bin/cmake-gui.exe > //Executable file format > CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS > CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG > CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL > CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE > CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO > CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //Name of external makefile project generator. > CMAKE_EXTRA_GENERATOR:INTERNAL= > //Name of generator. > CMAKE_GENERATOR:INTERNAL=MinGW Makefiles > //Name of generator platform. > CMAKE_GENERATOR_PLATFORM:INTERNAL= > //Name of generator toolset. > CMAKE_GENERATOR_TOOLSET:INTERNAL= > //Have include pthread.h > CMAKE_HAVE_PTHREAD_H:INTERNAL= > //Source directory with the top level CMakeLists.txt file for this > // project > CMAKE_HOME_DIRECTORY:INTERNAL=C:/MinGW/msys/1.0/home/libssh-0.7.3 > //ADVANCED property for variable: CMAKE_LINKER > CMAKE_LINKER-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS > CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG > CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL > CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE > CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO > CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_NM > CMAKE_NM-ADVANCED:INTERNAL=1 > //number of local generators > CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=7 > //ADVANCED property for variable: CMAKE_OBJCOPY > CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_OBJDUMP > CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_RANLIB > CMAKE_RANLIB-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_RC_COMPILER > CMAKE_RC_COMPILER-ADVANCED:INTERNAL=1 > CMAKE_RC_COMPILER_WORKS:INTERNAL=1 > //ADVANCED property for variable: CMAKE_RC_FLAGS > CMAKE_RC_FLAGS-ADVANCED:INTERNAL=1 > //Path to CMake installation. > CMAKE_ROOT:INTERNAL=C:/MinGW/msys/1.0/cmake/share/cmake-3.6 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS > CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG > CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL > CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE > CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO > CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH > CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SKIP_RPATH > CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS > CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG > CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL > CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE > CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO > CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_STRIP > CMAKE_STRIP-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE > CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: DOXYGEN_DOT_EXECUTABLE > DOXYGEN_DOT_EXECUTABLE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: DOXYGEN_EXECUTABLE > DOXYGEN_EXECUTABLE-ADVANCED:INTERNAL=1 > //Details about finding OpenSSL > FIND_PACKAGE_MESSAGE_DETAILS_OpenSSL:INTERNAL=[C:/MinGW/msys/1.0/local/lib/libssl.dll.a;C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a][C:/MinGW/msys/1.0/local/include][v1.0.2h()] > //Details about finding Threads > FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] > //Details about finding ZLIB > FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[C:/MinGW/msys/1.0/mingw/lib/libz.a][C:/MinGW/msys/1.0/mingw/include][v1.2.8()] > //ADVANCED property for variable: GSSAPI_ROOT_DIR > GSSAPI_ROOT_DIR-ADVANCED:INTERNAL=1 > //Have include argp.h > HAVE_ARGP_H:INTERNAL= > //Have include arpa/inet.h > HAVE_ARPA_INET_H:INTERNAL= > //Have include byteswap.h > HAVE_BYTESWAP_H:INTERNAL= > //Test HAVE_COMPILER__FUNCTION__ > HAVE_COMPILER__FUNCTION__:INTERNAL=1 > //Test HAVE_COMPILER__FUNC__ > HAVE_COMPILER__FUNC__:INTERNAL=1 > //Test HAVE_GCC_NARG_MACRO > HAVE_GCC_NARG_MACRO:INTERNAL=1 > //Test HAVE_GCC_THREAD_LOCAL_STORAGE > HAVE_GCC_THREAD_LOCAL_STORAGE:INTERNAL=1 > //Test HAVE_GCC_VOLATILE_MEMORY_PROTECTION > HAVE_GCC_VOLATILE_MEMORY_PROTECTION:INTERNAL=1 > //Have symbol getaddrinfo > HAVE_GETADDRINFO:INTERNAL=1 > //Have symbol htonll > HAVE_HTONLL:INTERNAL= > //Have function isblank > HAVE_ISBLANK:INTERNAL=1 > //Have include libutil.h > HAVE_LIBUTIL_H:INTERNAL= > //Test HAVE_MSC_THREAD_LOCAL_STORAGE > HAVE_MSC_THREAD_LOCAL_STORAGE:INTERNAL=1 > //Have symbol ntohll > HAVE_NTOHLL:INTERNAL= > //Have include openssl/aes.h > HAVE_OPENSSL_AES_H:INTERNAL=1 > //Have include openssl/blowfish.h > HAVE_OPENSSL_BLOWFISH_H:INTERNAL=1 > //Have include openssl/des.h > HAVE_OPENSSL_DES_H:INTERNAL=1 > //Have include openssl/ecdh.h > HAVE_OPENSSL_ECDH_H:INTERNAL=1 > //Have include openssl/ecdsa.h > HAVE_OPENSSL_ECDSA_H:INTERNAL=1 > //Have include openssl/ec.h > HAVE_OPENSSL_EC_H:INTERNAL=1 > //Have include pty.h > HAVE_PTY_H:INTERNAL= > //Have symbol select > HAVE_SELECT:INTERNAL=1 > //Have symbol snprintf > HAVE_SNPRINTF:INTERNAL=1 > //Have function strncpy > HAVE_STRNCPY:INTERNAL=1 > //Have include sys/param.h > HAVE_SYS_PARAM_H:INTERNAL=1 > //Have include sys/time.h > HAVE_SYS_TIME_H:INTERNAL=1 > //Have include termios.h > HAVE_TERMIOS_H:INTERNAL= > //Have include unistd.h > HAVE_UNISTD_H:INTERNAL=1 > //Have include util.h > HAVE_UTIL_H:INTERNAL= > //Have include utmp.h > HAVE_UTMP_H:INTERNAL= > //Have symbol vsnprintf > HAVE_VSNPRINTF:INTERNAL=1 > //Have include winsock2.h;ws2tcpip.h > HAVE_WS2TCPIP_H:INTERNAL=1 > //Have include winsock2.h;ws2tcpip.h;wspiapi.h > HAVE_WSPIAPI_H:INTERNAL=1 > //Have function _snprintf > HAVE__SNPRINTF:INTERNAL=1 > //Have function _snprintf_s > HAVE__SNPRINTF_S:INTERNAL=1 > //Have function _strtoui64 > HAVE__STRTOUI64:INTERNAL=1 > //Have function _vsnprintf > HAVE__VSNPRINTF:INTERNAL=1 > //Have function _vsnprintf_s > HAVE__VSNPRINTF_S:INTERNAL=1 > //libssh link libraries > LIBSSH_LINK_LIBRARIES:INTERNAL=ws2_32;C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a;C:/MinGW/msys/1.0/mingw/lib/libz.a;ws2_32;C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a;C:/MinGW/msys/1.0/mingw/lib/libz.a;ws2_32;C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a;C:/MinGW/msys/1.0/mingw/lib/libz.a;ws2_32;C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a;C:/MinGW/msys/1.0/mingw/lib/libz.a;ws2_32;C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a;C:/MinGW/msys/1.0/mingw/lib/libz.a;ws2_32;C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a;C:/MinGW/msys/1.0/mingw/lib/libz.a;ws2_32;C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a;C:/MinGW/msys/1.0/mingw/lib/libz.a;ws2_32;C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a;C:/MinGW/msys/1.0/mingw/lib/libz.a;ws2_32;C:/MinGW/msys/1.0/local/lib/libcrypto.dll.a;C:/MinGW/msys/1.0/mingw/lib/libz.a > //libssh public include directories > LIBSSH_PUBLIC_INCLUDE_DIRS:INTERNAL=C:/MinGW/msys/1.0/home/libssh-0.7.3/include > //libssh required system libraries > LIBSSH_REQUIRED_LIBRARIES:INTERNAL= > //libssh shared library > LIBSSH_SHARED_LIBRARY:INTERNAL=ssh_shared > //libssh static library > LIBSSH_STATIC_LIBRARY:INTERNAL=ssh_static > //libssh threads link libraries > LIBSSH_THREADS_LINK_LIBRARIES:INTERNAL=ssh_shared > //libssh public include directories > LIBSSH_THREADS_PUBLIC_INCLUDE_DIRS:INTERNAL=C:/MinGW/msys/1.0/home/libssh-0.7.3/include;C:/MinGW/msys/1.0/home/libssh-0.7.3/src/threads;C:/MinGW/msys/1.0/home/libssh-0.7.3 > //libssh threads shared library > LIBSSH_THREADS_SHARED_LIBRARY:INTERNAL=ssh_threads_shared > //libssh threads static library > LIBSSH_THREADS_STATIC_LIBRARY:INTERNAL=ssh_threads_static > //ADVANCED property for variable: LIB_EAY > LIB_EAY-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: NSIS_MAKE > NSIS_MAKE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: NSIS_ROOT_PATH > NSIS_ROOT_PATH-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: OPENSSL_INCLUDE_DIR > OPENSSL_INCLUDE_DIR-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: SSL_EAY > SSL_EAY-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ZLIB_INCLUDE_DIR > ZLIB_INCLUDE_DIR-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ZLIB_LIBRARY_DEBUG > ZLIB_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ZLIB_LIBRARY_RELEASE > ZLIB_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 > > > From: Robin Mills [mailto:robinwmills@xxxxxxxxx] On Behalf Of Robin Mills > Sent: 29 September 2016 13:03 > To: libssh@xxxxxxxxxx > Subject: Re: Building library for Windows > > I'm the lead engineer for Exiv2 which is built daily on 16 platform including MinGW/32. Here are our build notes: http://clanmills.com/exiv2/mingw.shtml > > I don't recall building libssh for MinGW, however I don't recall any special tricks required to build it for Linux or Cygwin. > > Do you want a 32 or 64 bit static build? > > It's 8:30 in England. I'll look at this after breakfast and can talk on Skype if you wish 'clanmills'. > > Robin > http://clanmills.com > Not sent from my iPhone > > On 29 Sep 2016, at 08:19, Servesh Singh <ssingh@xxxxxxxxxxxx> wrote: > > Hi Team, > I searched everywhere but could not find complete help for building static library for Windows platform using MinGW. > Please guide me if anyone has done this. > Thanks in advance, > > Regards, > Servesh >
Building library for Windows | Servesh Singh <ssingh@xxxxxxxxxxxx> |
Re: Building library for Windows | Robin Mills <robin@xxxxxxxxxxxxx> |
RE: Building library for Windows | Servesh Singh <ssingh@xxxxxxxxxxxx> |
Re: Building library for Windows | Robin Mills <robin@xxxxxxxxxxxxx> |
RE: Building library for Windows | Servesh Singh <ssingh@xxxxxxxxxxxx> |