- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Following is my directory structure
calculator
|
|---src
(multiply.cpp sum.cpp)
|---lib
I am building a static library calc.a using following
ar -rcs calc.a multiply.o sum.o
calc.a 在当前目录下生成。
I trying calc.a to be put into lib folder not in current directory (i.e. src)
我在互联网和手册页中进行了搜索,但找不到任何内容。有什么想法吗?
最佳答案
由于您使用的是命令行,因此将库写入 lib 目录的最简单方法是显式执行:
ar -rcs lib/libcalc.a multiply.o sum.o
使用 Makefile 你可以做更复杂的事情,但即便如此,它归结为同一件事,例如在库名前面加上路径。
由于您要求提供有关评论的其他信息,我在此处添加一个简单的 Makefile,这可能有助于您入门:
CC=g++
CFLAGS=-c -Wall
LDFLAGS=
SOURCES=src/main.cpp src/sum.cpp src/multiply.cpp
OBJECTS=$(SOURCES:.cpp=.o)
LIBRARY=lib/libcalc.a
EXECUTABLE=main
all: $(SOURCES) $(LIBRARY) $(EXECUTABLE)
$(LIBRARY): $(OBJECTS)
<tab>mkdir -p lib
<tab>ar -rcs $@ $<
$(EXECUTABLE): $(OBJECTS)
<tab>$(CC) $(LDFLAGS) $(OBJECTS) -o $@
.cpp.o:
<tab>$(CC) $(CFLAGS) $< -o $@
clean:
<tab>rm -rf main lib/ src/*.o
重要:全部<tab>
根据 Makefile 语法的要求,s 必须替换为真正的制表符!
Makefile 非常非常灵活,因此它们可以非常简单并针对您的问题,也可以是通用的和/或复杂的以基于数百万个源代码构建许多库和二进制文件。我建议您搜索 Makefile 文档以获取更多信息。
最后一点,我还建议您将您的库重命名为“libcalc.a”,因为“lib”前缀在 Unix 中是标准的。其他类似标准适用于其他环境。
关于linux - 如何将静态库输出到当前目录以外的另一个目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27767218/
我已经坚持了好几天了……很抱歉遇到这样的问题,但是我只是F#本身的初学者。由于关于类型提供程序的讨论很多,所以我决定建立一个类型提供程序并撰写一篇有关它的论文。当我开始时,我不知道什么是类型提供程序。
我正在开发LAN项目唤醒功能,但是我想控制局域网中计算机是否打开。但是我不想使用ICMP或WMI(我的网络上有DC)。那么,对于此问题,是否还有其他选择,例如“套接字连接”,请检查特定端口是否正在使用
我们有一个旧的VB6应用程序,该应用程序使用Crystal Reports XI生成打印报告。我们已经通过经验发现,如果Crystal Reports打印引擎选择了错误版本的 usp10.dll (W
我正在尝试获取有效的 Android 权限列表。我知道 http://developer.android.com/reference/android/Manifest.permission.html
嗨,我是 nginx 的新手,我试图在我的服务器(运行 Ubuntu 4)上设置它,它已经运行了 apache。 所以在我 apt-get install 它之后,我尝试启动 nginx。然后我收到这
如何在VB 6中检查对象的类型-除了'TypeName'之外,是否还有其他方法,因为无法通过'TypeName'进行检查,我希望使用类似QuichWatch窗口的方法。 最佳答案 对于对象变量,请使用
我的 JSP 应用程序中有一个错误。发布后我的 session 被清除: YAHOO.util.Connect.asyncRequest('POST', Url, callback, post
我是一名优秀的程序员,十分优秀!