我是C编程的新手,正试图学习如何构建静态库。我试图构建一个应用程序,建议我做以下事情:
gcc -c testFile.c ar a testFile.a testFile.o
当我尝试执行这些命令时,我得到一个错误:“ar:未指定操作”我熟悉简单的C文件的构建,但是我不明白第二个cmd行是做什么的,为什么我们需要这样做?我了解.o文件,但是为什么我们需要做“ar a”?有没有更简单的方法来做上述操作并避免错误?谢谢
mmvthczy1#
根据[Man7]: AR(1)(man ar):我的天 将文件 member...插入到 archive 中(带有 replacement)。对于自定义,您可以使用其修饰符(也在上面的 URL 中列出)。示例:
man ar
(py_pc064_03.10_test2_pycoralcf) [cfati@cfati-5510-0:/mnt/e/Work/Dev/StackExchange/StackOverflow/q076052480]> ~/sopr.sh ### Set shorter prompt to better fit when pasted in StackOverflow (or other) pages ### [064bit prompt]> ls [064bit prompt]> # Create an object file [064bit prompt]> echo "void f() {}" | gcc -x c -c -o dummy.o - [064bit prompt]> ls dummy.o [064bit prompt]> # Create (update) an archive out of it [064bit prompt]> ar rs libdummy.a dummy.o ar: creating libdummy.a [064bit prompt]> ls -Al total 8 -rw-r--r-- 1 cfati cfati 1352 Apr 19 12:08 dummy.o -rw-r--r-- 1 cfati cfati 1490 Apr 19 12:10 libdummy.a [064bit prompt]> # List archive members [064bit prompt]> ar tv libdummy.a rw-r--r-- 0/0 1352 Jan 1 02:00 1970 dummy.o
1条答案
按热度按时间mmvthczy1#
根据[Man7]: AR(1)(
man ar
):我的天 将文件 member...插入到 archive 中(带有 replacement)。
对于自定义,您可以使用其修饰符(也在上面的 URL 中列出)。
示例: