【问题标题】:Result of mkbundle throws "Symbol not found: _kCFLocaleCountryCode"mkbundle 的结果抛出“找不到符号:_kCFLocaleCountryCode”
【发布时间】:2016-11-22 15:20:16
【问题描述】:

我正在尝试在 mac OS X v. 10.12.1 上制作一组简单的 fsharp 代码,但在运行结果时出现错误。我可以找到的对类似 _kCFLocaleCountryCode 错误的引用似乎与我的问题不匹配。任何帮助将不胜感激。

谢谢,乔恩


代码是一个fsharp脚本test.fsx:

printfn "%d" 10

使用 F# Compiler for F# 4.0(开源版)编译,形成 Mono 4.4.1(mono-4.4.0-branch-c7sr0/4747417。下面附上发生的情况。

$ fsharpc test.fsx
F# Compiler for F# 4.0 (Open Source Edition)
Freely distributed under the Apache 2.0 Open Source License
$ mkbundle --deps test.exe -o test
OS is: Darwin
Sources: 1 Auto-dependencies: True
   embedding: /Users/sporring/repositories/PoP/fsharp/src/20161122_winforms/test.exe
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/4.5/mscorlib.dll
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/gac/FSharp.Core/4.4.0.0__b03f5f7f11d50a3a/FSharp.Core.dll
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/gac/System.Core/4.0.0.0__b77a5c561934e089/System.Core.dll
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/gac/System.Configuration/4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/gac/System.Xml/4.0.0.0__b77a5c561934e089/System.Xml.dll
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/gac/System.Security/4.0.0.0__b03f5f7f11d50a3a/System.Security.dll
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll
   embedding: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/mono/gac/System.Numerics/4.0.0.0__b77a5c561934e089/System.Numerics.dll
AS = as (default)
[execute cmd]: as -o temp.o temp.s 
Compiling:
CC = cc (default)
[execute cmd]: cc -g -o 'test' -Wall temp.c `pkg-config --cflags --libs mono-2`  temp.o
Done
$ ./test
dyld: Symbol not found: _kCFLocaleCountryCode
  Referenced from: /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/libmonosgen-2.0.1.dylib
  Expected in: flat namespace
 in /Library/Frameworks/Mono.framework/Versions/4.4.1/lib/libmonosgen-2.0.1.dylib
Abort trap: 6
$

【问题讨论】:

    标签: macos f# mono mkbundle


    【解决方案1】:

    试试这个

    export AS="as -arch i386"
    export CC="cc -arch i386 -framework CoreFoundation -lobjc -liconv"
    mkbundle --deps test.exe -o test
    

    然后测试

    ./test
    

    【讨论】:

    • 谢谢,但现在有些不同了——我一定是在不知不觉中更新了一些相关的东西。现在,使用建议的编译器设置和默认设置:Package mono-2 was not found in the pkg-config search path,我都会遇到不同的错误。我已经通过 Xamarin 安装了单声道,并且搜索了所有我能想到的地方(find、macports、google),但没有找到它。有什么想法吗?
    • 听起来原来的问题已经解决了。然后你应该为你遇到的新问题创建一个新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    • 1970-01-01
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    • 2011-12-15
    • 1970-01-01
    相关资源
    最近更新 更多