From d1baeb8870d33fcee203a8fa8fac61bceb732de4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=92=B2=E5=9D=A4?= <568415950@qq.com> Date: Thu, 27 Dec 2018 22:00:24 +0800 Subject: [PATCH 1/3] =?UTF-8?q?Solve=20a=20problem=20of=20nmake=20build?= =?UTF-8?q?=EF=BC=88use=20vs2017=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 ++ MSVC_NMake/res.h | 10 ++++++ MSVC_NMake/sigc.rc.in | 6 ++-- sigc++-uninstalled.pc.in | 9 ------ sigc++.pc.in => sigc++.pc | 0 sigc++config.h.in | 66 --------------------------------------- 6 files changed, 16 insertions(+), 78 deletions(-) create mode 100644 MSVC_NMake/res.h delete mode 100644 sigc++-uninstalled.pc.in rename sigc++.pc.in => sigc++.pc (100%) delete mode 100644 sigc++config.h.in diff --git a/.gitignore b/.gitignore index 5237bf44..af45f0f9 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,6 @@ Makefile.in /sigc++config.h /sigc++-*.pc /stamp-h? +/.vs +/MSVC_NMake/release/x64 +/MSVC_NMake/vc140.pdb diff --git a/MSVC_NMake/res.h b/MSVC_NMake/res.h new file mode 100644 index 00000000..f1bea322 --- /dev/null +++ b/MSVC_NMake/res.h @@ -0,0 +1,10 @@ +#pragma once + +#define SIGCXX_MAJOR_VERSION 2 +#define SIGCXX_MINOR_VERSION 99 +#define SIGCXX_MICRO_VERSION 1 + +//#define SIGCXX_API_VERSION 3.0 +//#define PACKAGE_VERSION ${ SIGCXX_MAJOR_VERSION }.${ SIGCXX_MINOR_VERSION }.${ SIGCXX_MICRO_VERSION } +//#define LIBSIGCPP_SOVERSION 0 + diff --git a/MSVC_NMake/sigc.rc.in b/MSVC_NMake/sigc.rc.in index bb9c394e..95851909 100644 --- a/MSVC_NMake/sigc.rc.in +++ b/MSVC_NMake/sigc.rc.in @@ -1,9 +1,9 @@ #include - +#include "res.h" VS_VERSION_INFO VERSIONINFO - FILEVERSION @SIGCXX_MAJOR_VERSION@,@SIGCXX_MINOR_VERSION@,@SIGCXX_MICRO_VERSION@,1 - PRODUCTVERSION @SIGCXX_MAJOR_VERSION@,@SIGCXX_MINOR_VERSION@,@SIGCXX_MICRO_VERSION@,1 + FILEVERSION SIGCXX_MAJOR_VERSION , SIGCXX_MINOR_VERSION , SIGCXX_MICRO_VERSION ,1 + PRODUCTVERSION SIGCXX_MAJOR_VERSION , SIGCXX_MINOR_VERSION , SIGCXX_MICRO_VERSION ,1 FILEFLAGSMASK 0 FILEFLAGS 0x0L FILEOS VOS__WINDOWS32 diff --git a/sigc++-uninstalled.pc.in b/sigc++-uninstalled.pc.in deleted file mode 100644 index 9a9fde1a..00000000 --- a/sigc++-uninstalled.pc.in +++ /dev/null @@ -1,9 +0,0 @@ -doxytagfile=${pc_top_builddir}/docs/reference/libsigc++-@SIGCXX_API_VERSION@.tag -htmlrefpub=http://library.gnome.org/devel/libsigc++/unstable/ - -Name: libsigc++ -Description: Typesafe signal and callback system for C++, not installed -Version: @PACKAGE_VERSION@ -URL: http://libsigc.sourceforge.net/ -Libs: ${pc_top_builddir}/sigc++/libsigc-@SIGCXX_API_VERSION@.la -Cflags: -I${pc_top_builddir} -I${pc_top_builddir}/@top_srcdir@ diff --git a/sigc++.pc.in b/sigc++.pc similarity index 100% rename from sigc++.pc.in rename to sigc++.pc diff --git a/sigc++config.h.in b/sigc++config.h.in deleted file mode 100644 index 8d82457c..00000000 --- a/sigc++config.h.in +++ /dev/null @@ -1,66 +0,0 @@ - -/* Define to omit deprecated API from the library. */ -#undef SIGCXX_DISABLE_DEPRECATED - -/* Major version number of sigc++. */ -#undef SIGCXX_MAJOR_VERSION - -/* Micro version number of sigc++. */ -#undef SIGCXX_MICRO_VERSION - -/* Minor version number of sigc++. */ -#undef SIGCXX_MINOR_VERSION - -/* Detect Win32 platform */ -#ifdef _WIN32 -# if defined(_MSC_VER) -# define SIGC_MSC 1 -# define SIGC_WIN32 1 -# define SIGC_DLL 1 -# elif defined(__CYGWIN__) -# define SIGC_CONFIGURE 1 -# elif defined(__MINGW32__) -# define SIGC_WIN32 1 -# define SIGC_CONFIGURE 1 -# else -# error "libsigc++ config: Unknown win32 architecture (send me gcc --dumpspecs or equiv)" -# endif -#else /* !_WIN32 */ -# define SIGC_CONFIGURE 1 -#endif /* !_WIN32 */ - -#ifdef SIGC_MSC -/* - * MS VC7 Warning 4251 says that the classes to any member objects in an - * exported class must also be exported. Some of the libsigc++ - * template classes contain std::list members. MS KB article 168958 says - * that it's not possible to export a std::list instantiation due to some - * wacky class nesting issues, so our only options are to ignore the - * warning or to modify libsigc++ to remove the std::list dependency. - * AFAICT, the std::list members are used internally by the library code - * and don't need to be used from the outside, and ignoring the warning - * seems to have no adverse effects, so that seems like a good enough - * solution for now. - */ -# pragma warning(disable:4251) - -#if (_MSC_VER < 1900) && !defined (noexcept) -#define _ALLOW_KEYWORD_MACROS 1 -#define noexcept _NOEXCEPT -#endif - -#else /* SIGC_MSC */ - -#endif /* !SIGC_MSC */ - -#ifdef SIGC_DLL -# if defined(SIGC_BUILD) && defined(_WINDLL) -# define SIGC_API __declspec(dllexport) -# elif !defined(SIGC_BUILD) -# define SIGC_API __declspec(dllimport) -# else -# define SIGC_API -# endif -#else /* !SIGC_DLL */ -# define SIGC_API -#endif /* !SIGC_DLL */ From 3dd5001e212c6e5a1d84246b1e626e9494940142 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=92=B2=E5=9D=A4?= <568415950@qq.com> Date: Thu, 27 Dec 2018 22:33:07 +0800 Subject: [PATCH 2/3] add readme.txt --- sigc++-uninstalled.pc.in | 9 +++++ sigc++.pc.in | 18 ++++++++++ sigc++config.h.in | 66 ++++++++++++++++++++++++++++++++++ "\345\277\205\350\257\273.txt" | 4 +++ 4 files changed, 97 insertions(+) create mode 100644 sigc++-uninstalled.pc.in create mode 100644 sigc++.pc.in create mode 100644 sigc++config.h.in create mode 100644 "\345\277\205\350\257\273.txt" diff --git a/sigc++-uninstalled.pc.in b/sigc++-uninstalled.pc.in new file mode 100644 index 00000000..9a9fde1a --- /dev/null +++ b/sigc++-uninstalled.pc.in @@ -0,0 +1,9 @@ +doxytagfile=${pc_top_builddir}/docs/reference/libsigc++-@SIGCXX_API_VERSION@.tag +htmlrefpub=http://library.gnome.org/devel/libsigc++/unstable/ + +Name: libsigc++ +Description: Typesafe signal and callback system for C++, not installed +Version: @PACKAGE_VERSION@ +URL: http://libsigc.sourceforge.net/ +Libs: ${pc_top_builddir}/sigc++/libsigc-@SIGCXX_API_VERSION@.la +Cflags: -I${pc_top_builddir} -I${pc_top_builddir}/@top_srcdir@ diff --git a/sigc++.pc.in b/sigc++.pc.in new file mode 100644 index 00000000..c03a1ddc --- /dev/null +++ b/sigc++.pc.in @@ -0,0 +1,18 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +datarootdir=@datarootdir@ +datadir=@datadir@ +includedir=@includedir@ + +docdir=${datarootdir}/doc/libsigc++-@SIGCXX_API_VERSION@ +doxytagfile=${docdir}/reference/libsigc++-@SIGCXX_API_VERSION@.tag +htmlrefdir=${docdir}/reference/html +htmlrefpub=http://library.gnome.org/devel/libsigc++/unstable/ + +Name: libsigc++ +Description: Typesafe signal and callback system for C++ +Version: @PACKAGE_VERSION@ +URL: http://libsigc.sourceforge.net/ +Libs: -L${libdir} -lsigc-@SIGCXX_API_VERSION@ +Cflags: -I${includedir}/sigc++-@SIGCXX_API_VERSION@ -I${libdir}/sigc++-@SIGCXX_API_VERSION@/include diff --git a/sigc++config.h.in b/sigc++config.h.in new file mode 100644 index 00000000..8d82457c --- /dev/null +++ b/sigc++config.h.in @@ -0,0 +1,66 @@ + +/* Define to omit deprecated API from the library. */ +#undef SIGCXX_DISABLE_DEPRECATED + +/* Major version number of sigc++. */ +#undef SIGCXX_MAJOR_VERSION + +/* Micro version number of sigc++. */ +#undef SIGCXX_MICRO_VERSION + +/* Minor version number of sigc++. */ +#undef SIGCXX_MINOR_VERSION + +/* Detect Win32 platform */ +#ifdef _WIN32 +# if defined(_MSC_VER) +# define SIGC_MSC 1 +# define SIGC_WIN32 1 +# define SIGC_DLL 1 +# elif defined(__CYGWIN__) +# define SIGC_CONFIGURE 1 +# elif defined(__MINGW32__) +# define SIGC_WIN32 1 +# define SIGC_CONFIGURE 1 +# else +# error "libsigc++ config: Unknown win32 architecture (send me gcc --dumpspecs or equiv)" +# endif +#else /* !_WIN32 */ +# define SIGC_CONFIGURE 1 +#endif /* !_WIN32 */ + +#ifdef SIGC_MSC +/* + * MS VC7 Warning 4251 says that the classes to any member objects in an + * exported class must also be exported. Some of the libsigc++ + * template classes contain std::list members. MS KB article 168958 says + * that it's not possible to export a std::list instantiation due to some + * wacky class nesting issues, so our only options are to ignore the + * warning or to modify libsigc++ to remove the std::list dependency. + * AFAICT, the std::list members are used internally by the library code + * and don't need to be used from the outside, and ignoring the warning + * seems to have no adverse effects, so that seems like a good enough + * solution for now. + */ +# pragma warning(disable:4251) + +#if (_MSC_VER < 1900) && !defined (noexcept) +#define _ALLOW_KEYWORD_MACROS 1 +#define noexcept _NOEXCEPT +#endif + +#else /* SIGC_MSC */ + +#endif /* !SIGC_MSC */ + +#ifdef SIGC_DLL +# if defined(SIGC_BUILD) && defined(_WINDLL) +# define SIGC_API __declspec(dllexport) +# elif !defined(SIGC_BUILD) +# define SIGC_API __declspec(dllimport) +# else +# define SIGC_API +# endif +#else /* !SIGC_DLL */ +# define SIGC_API +#endif /* !SIGC_DLL */ diff --git "a/\345\277\205\350\257\273.txt" "b/\345\277\205\350\257\273.txt" new file mode 100644 index 00000000..19e4a2b4 --- /dev/null +++ "b/\345\277\205\350\257\273.txt" @@ -0,0 +1,4 @@ +带 .in 后缀的文件请去掉 .in 后缀之后再编译(提交到git时必须带 .in 后缀,不然git上不显示,原因不清楚) + +MSVC_NMake目录:用于VS(2017)编译 + From 79bad59f4aff4d5d8cea6b06723d6175bb4b0a3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=92=B2=E5=9D=A4?= <568415950@qq.com> Date: Thu, 27 Dec 2018 22:36:17 +0800 Subject: [PATCH 3/3] --- "\345\277\205\350\257\273.txt" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/\345\277\205\350\257\273.txt" "b/\345\277\205\350\257\273.txt" index 19e4a2b4..eca7ccf9 100644 --- "a/\345\277\205\350\257\273.txt" +++ "b/\345\277\205\350\257\273.txt" @@ -1,4 +1,4 @@ -带 .in 后缀的文件请去掉 .in 后缀之后再编译(提交到git时必须带 .in 后缀,不然git上不显示,原因不清楚) +锘垮甫 .in 鍚庣紑鐨勬枃浠惰鍘绘帀 .in 鍚庣紑涔嬪悗鍐嶇紪璇戯紙鎻愪氦鍒癵it鏃跺繀椤诲甫 .in 鍚庣紑锛屼笉鐒秅it涓婁笉鏄剧ず锛屽師鍥犱笉娓呮锛 -MSVC_NMake目录:用于VS(2017)编译 +MSVC_NMake鐩綍锛氱敤浜嶸S锛2017锛夌紪璇