Questions tagged «static-libraries»

静态库是目标文件的存档。用作链接器输入时,链接器提取进行链接所需的目标文件。

5
静态链接libstdc ++:有陷阱吗?
我需要将基于GCC 4.7的libstdc ++的,在Ubuntu 12.10上构建的C ++应用程序部署到运行Ubuntu 10.04的系统,该系统随附相当老的libstdc ++版本。 目前,我正在-static-libstdc++ -static-libgcc按照此博客文章的建议进行编译:静态链接libstdc ++。作者警告不要在静态编译libstdc ++时使用任何动态加载的C ++代码,这是我尚未检查的事情。尽管如此,到目前为止一切似乎都进展顺利:我可以在Ubuntu 10.04上使用C ++ 11功能。 我注意到这篇文章是从2005年开始的,此后也许已经发生了很大的变化。它的建议仍然有效吗?有没有我应该注意的潜伏问题?



19
为什么链接器将静态库与错误链接?的iOS
将混合语言框架链接到项目时出现问题。 1)我创建了一个包含Swift和Objective-C类的框架。 2)主要逻辑存储在Swift文件中。例如,该类具有调用NSLog(“ Swift log was created”)的方法。 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 …

3
如何检查是否为64位构建了静态库?
我刚刚为iOS构建了一个静态库,并将Architectures的构建设置设置为$(ARCHS_STANDARD_INCLUDING_64_BIT)。 我想确保.a库正确包含该体系结构,但是lipo -info在其上运行时,我看到: 胖文件:library.a中的体系结构是:armv7 armv7s(cputype(16777228)cpusubtype(0)) 这是否意味着不包括arm64?如果lipo命令无法告诉我,还有另一种方法可以告诉我吗? 我正在安装最新的命令行工具来运行Xcode 5。

1
.exp的用途是什么,.lib和.dll有什么区别?
在编译和链接期间,.exp的用途是什么?.lib和.dll有什么区别?我知道将使用.lib,而运行程序时将使用链接和.dll。但是.lib和.dll到底有什么区别? .lib文件是否不包含来自.dll文件的功能代码?使用两个单独的文件有什么需要? 请说清楚。

3
静态变量链接错误
我在Mac上编写C ++代码。为什么在编译时出现此错误?: 架构i386的未定义符号:“ Log :: theString”,引用自:libTest.a(Log.o)ld中的Log :: method(std :: string)ld:找不到架构i386铛的符号:错误:链接器命令失败,退出代码为1(使用-v查看调用) 不知道我的代码是否错误,或者我必须向Xcode添加其他标志。我当前的XCode配置是“静态库”项目的默认配置。 我的代码: Log.h ------------ #include <iostream> #include <string> using namespace std; class Log{ public: static void method(string arg); private: static string theString ; }; Log.cpp ---- #include "Log.h" #include <ostream> void Log::method(string arg){ theString = "hola"; cout << theString << …

3
试图包含一个库,但不断收到“未定义的引用”消息
我正在尝试使用libtommath库。我在Ubuntu linux上的项目中使用的是NetBeans IDE。我已经下载并构建了该库,我已经进行了“ make install”操作,将生成的.a文件放入/ usr / lib /,并将.h文件放入/ usr / include 它似乎正在适当地查找文件(因为我不再遇到那些错误,这是在安装到/ usr目录之前所做的)。 但是,当我创建一个简单的main来调用mp_init(位于库中)时,在尝试创建项目时出现以下错误: mkdir -p build/Debug/GNU-Linux-x86 rm -f build/Debug/GNU-Linux-x86/main.o.d gcc -c -g -MMD -MP -MF build/Debug/GNU-Linux-x86/main.o.d -o build/Debug/GNU-Linux-x86/main.o main.c mkdir -p dist/Debug/GNU-Linux-x86 gcc -o dist/Debug/GNU-Linux-x86/cproj1 build/Debug/GNU-Linux-x86/main.o build/Debug/GNU-Linux-x86/main.o: In function 'main': /home/[[myusername]]/NetBeansProjects/CProj1/main.c:18: undefined reference to `mp_init' collect2: ld returned …


7
更新到Xcode 5之后-ld:找不到架构armv7或armv7s链接器错误的符号
我刚将iPhone 4S软件更新到iOS 7 Beta 2时,我正处于对新应用程序(Phonegap)进行最后修改的过程中。 完成后,Xcode无法检测到我的iPhone,因此我安装了Xcode 5 beta。经过修改后,我终于得到了它来检测我的手机。现在唯一的问题是所使用的体系结构有错误。 这是产生的错误: ld: warning: ignoring file /Users/-----------/Library/Developer/Xcode/DerivedData/testtest-bmnbmujiosugcmgeiceofgcfmsec/Build/Products/Debug-iphoneos/libCordova.a, file was built for archive which is not the architecture being linked (armv7s): /Users/--------/Library/Developer/Xcode/DerivedData/testtest-bmnbmujiosugcmgeiceofgcfmsec/Build/Products/Debug-iphoneos/libCordova.a Undefined symbols for architecture armv7s: "_OBJC_METACLASS_$_CDVCommandDelegateImpl", referenced from: _OBJC_METACLASS_$_MainCommandDelegate in MainViewController.o "_CDVLocalNotification", referenced from: -[AppDelegate application:didReceiveLocalNotification:] in AppDelegate.o "_OBJC_CLASS_$_CDVCommandDelegateImpl", referenced from: _OBJC_CLASS_$_MainCommandDelegate …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.