我尝试使用wxWidgets版本3.0.2安装Alien :: wxWidgets版本0.67,但无论我做什么,我都会收到以下错误:
checking if C compiler (clang -mmacosx-version-min=10.5) works with SDK/version options... configure: error: in `/Users/David/.cpan/build/Alien-wxWidgets-0.67-GGkXTu/wxWidgets-3.0.2/bld':
configure: error: no. Try a different SDK
See `config.log' for more details
system: echo exit | sh ../configure --prefix=/Users/David/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/darwin-2level/Alien/wxWidgets/osx_cocoa_3_0_2_uni --with-osx_cocoa --with-opengl --disable-compat24 --enable-unicode --disable-monolithic --disable-universal_binary --enable-graphics_ctx CC=clang CXX=clang++ CXXFLAGS="-stdlib=libc++ -std=c++11" OBJCXXFLAGS="-stdlib=libc++ -std=c++11" LDFLAGS=-stdlib=libc++: 256 at Build line 60.
我尝试使用标志构建--with-macosx-sdk = 10.5, - with-macosx-sdk = 10.10, - with-macosx-sdk, - with-macosx-sdk = / Applications /Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/但没有一个有效。
这是config.log的一部分,我看到错误,但我不知道如何解决它:
configure:16429: checking for gcc
configure:16456: result: clang
configure:16685: checking for C compiler version
configure:16694: clang --version >&5
Apple LLVM version 7.0.0 (clang-700.0.72)
Target: x86_64-apple-darwin14.5.0
Thread model: posix
configure:16705: $? = 0
configure:16694: clang -v >&5
Apple LLVM version 7.0.0 (clang-700.0.72)
Target: x86_64-apple-darwin14.5.0
Thread model: posix
configure:16705: $? = 0
configure:16694: clang -V >&5
clang: error: argument to '-V' is missing (expected 1 value)
clang: error: no input files
configure:16705: $? = 1
configure:16694: clang -qversion >&5
clang: error: unknown argument: '-qversion'
clang: error: no input files
configure:16705: $? = 1
configure:16725: checking whether the C compiler works
configure:16747: clang -stdlib=libc++ conftest.c >&5
configure:16751: $? = 0
configure:16799: result: yes
configure:16802: checking for C compiler default output file name
configure:16804: result: a.out
configure:16810: checking for suffix of executables
configure:16817: clang -o conftest -stdlib=libc++ conftest.c >&5
configure:16821: $? = 0
configure:16843: result:
configure:16865: checking whether we are cross compiling
configure:16873: clang -o conftest -stdlib=libc++ conftest.c >&5
configure:16877: $? = 0
configure:16884: ./conftest
configure:16888: $? = 0
configure:16903: result: no
configure:16908: checking for suffix of object files
configure:16930: clang -c conftest.c >&5
configure:16934: $? = 0
configure:16955: result: o
configure:16959: checking whether we are using the GNU C compiler
configure:16978: clang -c conftest.c >&5
configure:16978: $? = 0
configure:16987: result: yes
configure:16996: checking whether clang accepts -g
configure:17016: clang -c -g conftest.c >&5
configure:17016: $? = 0
configure:17057: result: yes
configure:17074: checking for clang option to accept ISO C89
configure:17137: clang -c conftest.c >&5
configure:17137: $? = 0
configure:17150: result: none needed
configure:17183: checking whether we are using the Intel C compiler
configure:17203: clang -c conftest.c >&5
conftest.c:18:17: error: use of undeclared identifier 'choke'
choke me
^
1 error generated.
configure:17203: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "wxWidgets"
| #define PACKAGE_TARNAME "wxwidgets"
| #define PACKAGE_VERSION "3.0.2"
| #define PACKAGE_STRING "wxWidgets 3.0.2"
| #define PACKAGE_BUGREPORT "wx-dev@lists.wxwidgets.org"
| #define PACKAGE_URL ""
| #define __BSD__ 1
| #define __DARWIN__ 1
| #define TARGET_CARBON 1
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| #ifndef __INTEL_COMPILER
| choke me
| #endif
|
| ;
| return 0;
| }
configure:17213: result: no
configure:17936: checking how to run the C preprocessor
configure:17967: clang -E conftest.c
configure:17967: $? = 0
configure:17981: clang -E conftest.c
conftest.c:12:10: fatal error: 'ac_nonexistent.h' file not found
#include <ac_nonexistent.h>
^
1 error generated.
configure:17981: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "wxWidgets"
| #define PACKAGE_TARNAME "wxwidgets"
| #define PACKAGE_VERSION "3.0.2"
| #define PACKAGE_STRING "wxWidgets 3.0.2"
| #define PACKAGE_BUGREPORT "wx-dev@lists.wxwidgets.org"
| #define PACKAGE_URL ""
| #define __BSD__ 1
| #define __DARWIN__ 1
| #define TARGET_CARBON 1
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
如果你有任何想法如何解决这个问题并让wxWidgets在OSX 10.10上工作,我真的很感激。
答案 0 :(得分:2)
添加以下内容:
- 与-MacOSX的版本分钟= 10.11
答案 1 :(得分:1)
这不是config.log
的正确部分,这个错误是正常的/预期的,你应该看下面看真实的。没有看到它,很难确定,但我认为-mmacosx-version-min=10.5
是罪魁祸首,你的SDK可能太新了,无法支持10.5。如果您安装了较旧的SDK,请尝试选择其他SDK(查看/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
下的内容进行检查)或者查找10.5来自哪里,并将其替换为10.10 SDK支持的10.7(不确定10.11)。
答案 2 :(得分:0)
这就是我在Mac OS 10.11.4下进行 构建的方式:
tar xzf Alien-wxWidgets-0.67.tar.gz
cd Alien-wxWidgets
perl ./Build.PL --wxWidgets-extraflags="--with-macosx-versin-min=10.11"
./Build
编译几分钟后,以下错误停止了构建过程:
../src/osx/webview_webkit.mm:936:25: error: cannot initialize a variable of type 'WebBackForwardList *' with an rvalue of type 'WKBackForwardList *'
WebBackForwardList* history = [m_webView backForwardList];
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/osx/webview_webkit.mm:954:25: error: cannot initialize a variable of type 'WebBackForwardList *' with an rvalue of type 'WKBackForwardList *'
WebBackForwardList* history = [m_webView backForwardList];
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 warnings and 2 errors generated.
make: *** [webviewdll_osx_webview_webkit.o] Error 1
system: make all: 512 at ./Build line 60.
所以--with-macosx-versin-min=10.11
让我们更深入到构建过程中,但不是(还)成功构建。 : - (
答案 3 :(得分:0)
我使用了@Cal上面的步骤,但是使用wxWidgets项目中的补丁来修复m_webView类型不匹配错误。这里跟踪了wxWidgets问题:http://trac.wxwidgets.org/ticket/16329,补丁在这里:http://trac.wxwidgets.org/attachment/ticket/16329/0001-using-proper-types-for-webkit-variants-see-16329.patch,它为您提供了补丁的html视图。下载链接位于:http://trac.wxwidgets.org/raw-attachment/ticket/16329/0001-using-proper-types-for-webkit-variants-see-16329.patch
看起来他们已经在发行版&gt; = 3.1的主干中修复了这个问题,这是针对可能的3.0.3提议的修补程序,但是由于没有针对18 mos的行动,也许他们只是跳过它并且这个将在下一个版本中消失。
我重新打包补丁以与Alien :: wxWidgets Build.PL一起使用:http://markwal.github.io/patches/Alien-wxWidgets-0.67-El-Capitan.patch
回顾一下,我在Mac OS X El Capitan 10.11.6下构建的步骤: