标签: static-linking

Xcode4链接问题.文件是为存档而构建的,而不是被链接的架构(arm6)

最近,我切换到Xcode4,当我编译我的项目时,我得到了以下错误.

ld: warning: ignoring file /Users/myname/Library/Developer/Xcode/DerivedData/appname-hezrgyqimckztgbdlslkavphdclw/Build/Products/Debug-iphoneos/libTapkuLibrary.a, file was built for archive which is not the architecture being linked (armv6)
Undefined symbols for architecture armv6:
  "_OBJC_CLASS_$_TKLoadingView", referenced from:
      objc-class-ref in RootViewController.o
Run Code Online (Sandbox Code Playgroud)

我打开了TapkuLibrary并检查它的架构设置为'Standard(armv6 armv7)'.

我该怎么做才能解决这个问题?

iphone static-linking xcode4

51
推荐指数
5
解决办法
6万
查看次数

CMake:如何"尽可能静态地"生成二进制文件

我想控制在CMake中找到/链接我的二进制文件的库的类型.最终目标是,"尽可能静态地"生成二进制文件,以便静态链接每个具有可用静态版本的库.这很重要,因为在测试期间可以在不同系统中实现二进制文件的可移植性.

ATM这似乎很难实现,因为FindXXX.cmake软件包,或者更确切地说,只要静态和动态都可用,find_library命令总是会获取动态库.

有关如何实现此功能的提示 - 最好以优雅的方式 - 非常受欢迎!

linker cmake shared-libraries static-linking dynamic-library

47
推荐指数
2
解决办法
2万
查看次数

如何在mingw中进行libwinpthread-1.dll的静态链接?

我从这里使用mingw: http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.7.2/32-bit/threads-posix/sjlj/x32-4.7.2-release-posix-sjlj-rev2.7z/download

而且我已经成功地设法通过静态链接libstdc++-6.dlllibgcc_s_sjlj-1.dll使用-static-libgcc -static-libstdc++参数,但我无法找到执行相同操作的命令libwinpthread-1.dll.

c++ mingw static-linking

47
推荐指数
6
解决办法
5万
查看次数

制作小的haskell可执行文件?

有没有什么好方法可以制作小的haskell可执行文件?使用ghc6,一个简单的hello world程序似乎达到了370kB(在strip之前为523kB).C中的Hello世界大约是4kB(剥离前9kB).

linker haskell ghc static-linking

40
推荐指数
7
解决办法
8494
查看次数

iOS是静态还是动态框架?

这可能听起来像一个愚蠢的问题,但如果你有一个thirdParty.framework文件,你能告诉它是静态的还是动态的?我的意思是,如果你看里面,他们看起来不一样吗?

objective-c dynamic-linking static-linking ios

37
推荐指数
2
解决办法
6655
查看次数

为什么不建议静态链接glibc?

在线上的大多数资源都指出您可以静态链接glibc,但不建议这样做。例如centos软件包repo

The glibc-static package contains the C library static libraries
for -static linking.  You don't need these, unless you link statically,
which is highly discouraged.
Run Code Online (Sandbox Code Playgroud)

这些消息来源很少(或从来没有)说过为什么这不是一个好主意。

c c++ linker glibc static-linking

36
推荐指数
2
解决办法
1520
查看次数

如何生成静态链接的可执行文件?

我正在尝试使用Rust创建一个静态可执行文件.我不是试图静态链接特定的库,我试图创建一个根本不使用动态链接的可执行文件.我有以下(否则工作)测试:

$ cat hello.rs
fn main()
    {
    print!("Hello, world!\n");
    }
$ rustc hello.rs -o hello
$ file hello
hello: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV),
 dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, [etc]
Run Code Online (Sandbox Code Playgroud)

请注意dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2.statically linked相反,静态可执行文件.(就我而言corrupted section header size,如果我能说服Rust复制那个,我会感到非常惊讶.)

我需要传递什么选项rustc才能使它生成一个实际的静态可执行文件(具体来说:一个甚至file同意静态链接的选项).

static-linking rust

31
推荐指数
2
解决办法
8209
查看次数

程序找不到libgcc_s_dw2-1.dll

可能重复:
程序无法启动,因为缺少libgcc_s_dw2-1.dll

我正在使用Code :: Blocks和MinGW 4.4(我认为)编译器来创建一个C++项目.如果我从它的目录运行它,而不是从Code :: Blocks中运行,我会收到此系统错误.

The program can't start because libgcc_s_dw2-1.dll is missing from your computer.  Try reinstalling the program to fix this problem.
Run Code Online (Sandbox Code Playgroud)

这篇文章中, hardmath表示要添加-static-libgcc到编译器标志,静态链接到dll.当我尝试这个时,错误仍然发生.我可以通过将MinGW bin目录添加到我的计算机的Path变量来实现它,但我计划通过互联网分发我的程序.

该问题仅在更新到最新的G ++编译器后出现.除了我之外,这个解决方案为其他所有人工作的原因是什么?

c++ mingw codeblocks static-linking

30
推荐指数
1
解决办法
7万
查看次数

为什么链接器链接静态库有错误?iOS版

我将混合语言框架链接到项目时遇到问题.

1)我使用Swift和Objective-C类创建框架.

2)主逻辑存储在Swift文件中.例如,带有调用NSLog的方法的类("调用Swift日志").

3)Objective-C文件有一个类,它有一个方法,我创建一个Swift类的实例并调用Swift-log方法.

4)我将此框架与我的Objective-C项目相关联,我可以在此项目中调用我需要的所有内容,但是当我想构建此项目时,我收到错误" linker command failed with exit code 1 (use -v to see invocation)"

并警告:

ld: warning: Could not find auto-linked library 'swiftFoundation'

ld: warning: Could not find auto-linked library 'swiftDarwin'

ld: warning: Could not find auto-linked library 'swiftCoreFoundation'

ld: warning: Could not find auto-linked library 'swiftCore'

ld: warning: Could not find auto-linked library 'swiftCoreGraphics'

ld: warning: Could not find auto-linked library 'swiftObjectiveC'

ld: warning: Could not find auto-linked library 'swiftDispatch'

ld: warning: Could not find …

objective-c static-libraries static-linking ios swift

29
推荐指数
12
解决办法
2万
查看次数

创建使用getaddrinfo的静态链接二进制文件?

我已经包含了标题netdb.h,包含在哪里getaddrinfo,但是gcc发出了这个警告:

warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking

gcc -m32 -static -s -O2 -std=c99 -D_POSIX_C_SOURCE=200112L myprogram.c
Run Code Online (Sandbox Code Playgroud)

如何静态编译丢失的文件?

可能的解决方案:

  1. 可能是glibc安装缺少静态编译所需的相应目标文件.如果是这种情况,请创建相应的目标文件并在编译时链接它.

  2. 尝试EGLIBC而不是glibc.

  3. 我成功地用dietlibc编译了我的程序,它编译时没有任何错误加上得到的二进制文件比glibc制作的要小得多.

c gcc posix c99 static-linking

28
推荐指数
2
解决办法
3万
查看次数