我有几个使用 avr-ar 创建的库。每个都包含一些对象。
library1 中的对象需要 library2 中对象的符号。问题是,当我尝试编译整个东西时,我遇到undefined reference
了问题。
这就是失败的地方,$(INCLUDE) $(CFLAGS) $(LIBS)
CFLAGS=-mmcu=atmega328p -DF_CPU=16000000UL -Os -w -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
LIBS=library1.a library2.a
$(CXX) $(INCLUDE) $^ $(CFLAGS) -o $@ $(LIBS)
我正在运行 Ubuntu 12.04 和
Using built-in specs.
COLLECT_GCC=avr-g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/avr/4.5.3/lto-wrapper
Target: avr
Configured with: ../src/configure -v --enable-languages=c,c++ --prefix=/usr/lib --infodir=/usr/share/info --mandir=/usr/share/man --bindir=/usr/bin --libexecdir=/usr/lib --libdir=/usr/lib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-libssp --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=avr
Thread model: single
gcc version 4.5.3 (GCC)
如果我从库中提取对象并将所有内容放入库中,一切都会顺利进行。
我想把它们分开,有没有办法做到这一点?