簡體   English   中英

我該如何連接模塊?

[英]How can I connect modules?

所以,我正在嘗試編寫Makefile.am,它將檢查源代碼和構建的依賴項。

configure.in

AC_PREREQ([2.68])
AC_INIT([hello], [1.0], [basinbug at yahoo.com])
AC_CONFIG_SRCDIR([src/hello.cpp])
AM_INIT_AUTOMAKE

AC_PROG_CXX

PKG_CHECK_MODULES([GTK], [gtk+-2.0 >= 2.10])

AC_CONFIG_FILES([Makefile src/Makefile])
AC_OUTPUT

SRC / Makefile.am

bin_PROGRAMS = hello

hello_CFLAGS = $(GTK_CFLAGS)
hello_LDFLAGS = $(GTK_LIBS)

hello_SOURCES = hello.cpp

當我運行“make”時會發生什么

Making all in src
make[1]: Entering directory `/home/maza/123/src'
g++ -DPACKAGE_NAME=\"hello\" -DPACKAGE_TARNAME=\"hello\" -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"hello\ 1.0\" -DPACKAGE_BUGREPORT=\"basinbug\ at\ yahoo.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"hello\" -DVERSION=\"1.0\" -I.     -g -O2 -MT hello.o -MD -MP -MF .deps/hello.Tpo -c -o hello.o hello.cpp
hello.cpp:2:21: fatal error: gtk/gtk.h: No such file or directory
compilation terminated.
make[1]: *** [hello.o] Error 1
make[1]: Leaving directory `/home/maza/123/src'
make: *** [all-recursive] Error 1

如果我要作為AC_PROG_CC,它們用於編譯字符串,通過AC_PROG_CXX它不被使用

您告訴autotools您的項目是一個C ++項目(使用AC_PROG_CXX ),但您正在設置一個C標志變量( hello_CFLAGS )。

C ++的匹配變量是hello_CXXFLAGS

據說這兩者都不是用於此用途的正確標志。 正確的標志(感謝ptomato)是hello_CPPFLAGS

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM