1

私は C++ の専門家ではないので、ご容赦ください。最新のddccontrol tarball には、makefile が要求する C++ ファイルが欠落しているように思えますが、とにかく必要のない古いハードウェアを参照しています。このファイルを必要とする行を makefile から単純に削除して、問題なく続行できますか? の実行中make checkに、次のエラーが発生します。

 - bruno():ddccontrol-0.4.2$ make check
Making check in src
make[1]: Entering directory `/home/dotancohen/ddccontrol-0.4.2/src'
Making check in lib
make[2]: Entering directory `/home/dotancohen/ddccontrol-0.4.2/src/lib'
make[2]: Nothing to be done for `check'.
make[2]: Leaving directory `/home/dotancohen/ddccontrol-0.4.2/src/lib'
Making check in ddccontrol
make[2]: Entering directory `/home/dotancohen/ddccontrol-0.4.2/src/ddccontrol'
make[2]: Nothing to be done for `check'.
make[2]: Leaving directory `/home/dotancohen/ddccontrol-0.4.2/src/ddccontrol'
Making check in gddccontrol
make[2]: Entering directory `/home/dotancohen/ddccontrol-0.4.2/src/gddccontrol'
make[2]: Nothing to be done for `check'.
make[2]: Leaving directory `/home/dotancohen/ddccontrol-0.4.2/src/gddccontrol'
Making check in ddcpci
make[2]: Entering directory `/home/dotancohen/ddccontrol-0.4.2/src/ddcpci'
make[2]: Nothing to be done for `check'.
make[2]: Leaving directory `/home/dotancohen/ddccontrol-0.4.2/src/ddcpci'
make[2]: Entering directory `/home/dotancohen/ddccontrol-0.4.2/src'
make[2]: Leaving directory `/home/dotancohen/ddccontrol-0.4.2/src'
make[1]: Leaving directory `/home/dotancohen/ddccontrol-0.4.2/src'
Making check in po
make[1]: Entering directory `/home/dotancohen/ddccontrol-0.4.2/po'
make[1]: *** No rule to make target `../src/ddcpci/intel740.c', needed by `ddccontrol.pot'.  Stop.
make[1]: Leaving directory `/home/dotancohen/ddccontrol-0.4.2/po'
make: *** [check-recursive] Error 1

からのこのコピーアンドペーストを検討してください/home/dotancohen/ddccontrol-0.4.2/po/Makefile

POTFILES = \
    ../src/ddccontrol/main.c \
    ../src/ddcpci/i2c-algo-bit.c \
    ../src/ddcpci/intel740.c \
    ../src/ddcpci/intel810.c \
    ../src/ddcpci/main.c \
    ../src/ddcpci/nvidia.c \
    ../src/ddcpci/radeon.c \
    ../src/gddccontrol/fspatterns.c \
    ../src/gddccontrol/gddccontrol.desktop.in \
    ../src/gddccontrol/gprofile.c \
    ../src/gddccontrol/main.c \
    ../src/gddccontrol/notebook.c \
    ../src/gnome-ddcc-applet/GNOME_ddcc-applet.server.in.in \
    ../src/gnome-ddcc-applet/GNOME_ddcc-applet.xml \
    ../src/gnome-ddcc-applet/ddcc-applet.c \
    ../src/lib/conf.c \
    ../src/lib/ddcci.c \
    ../src/lib/monitor_db.c

そして、存在するこれらのファイルを検討してください。

 - bruno():ddccontrol-0.4.2$ ls -la src/ddcpci/
total 544
drwxrwxr-x 4 dotancohen dotancohen   4096 Nov 14 08:29 .
drwxrwxr-x 7 dotancohen dotancohen   4096 Nov 14 08:28 ..
-rwxrwxr-x 1 dotancohen dotancohen 139344 Nov 14 08:29 ddcpci
-rw-r--r-- 1 dotancohen dotancohen   1900 Mar  9  2006 ddcpci.h
drwxrwxr-x 2 dotancohen dotancohen   4096 Nov 14 08:29 .deps
-rw-r--r-- 1 dotancohen dotancohen  13597 Jun 15  2006 i2c-algo-bit.c
-rw-r--r-- 1 dotancohen dotancohen   2573 Jan 10  2005 i2c-algo-bit.h
-rw-rw-r-- 1 dotancohen dotancohen  92536 Nov 14 08:29 i2c-algo-bit.o
-rw-r--r-- 1 dotancohen dotancohen   8029 Apr  5  2006 intel810.c
-rw-rw-r-- 1 dotancohen dotancohen  27432 Nov 14 08:29 intel810.o
drwxrwxr-x 2 dotancohen dotancohen   4096 Nov 14 08:29 .libs
-rw-r--r-- 1 dotancohen dotancohen   8706 Mar  3  2006 main.c
-rw-rw-r-- 1 dotancohen dotancohen  47752 Nov 14 08:29 main.o
-rw-rw-r-- 1 dotancohen dotancohen  19944 Nov 14 08:28 Makefile
-rw-r--r-- 1 dotancohen dotancohen    265 Mar  3  2006 Makefile.am
-rw-r--r-- 1 dotancohen dotancohen  17227 Jul 27  2006 Makefile.in
-rw-r--r-- 1 dotancohen dotancohen   5647 Feb 14  2006 nvidia.c
-rw-rw-r-- 1 dotancohen dotancohen  21720 Nov 14 08:29 nvidia.o
-rw-r--r-- 1 dotancohen dotancohen   6982 Jul 11  2006 radeon.c
-rw-rw-r-- 1 dotancohen dotancohen  25416 Nov 14 08:29 radeon.o
-rw-r--r-- 1 dotancohen dotancohen   4832 Mar  3  2006 sis.c
-rw-rw-r-- 1 dotancohen dotancohen  24504 Nov 14 08:29 sis.o
-rw-r--r-- 1 dotancohen dotancohen   5814 Mar  3  2006 via.c
-rw-rw-r-- 1 dotancohen dotancohen  22200 Nov 14 08:29 via.o

./configure成功するには、いくつかのパッケージをインストールする必要があったことに注意してください。

sudo aptitude install libxml2-dev pciutils-dev libgtk2.0-dev

../src/ddcpci/intel740.c \この行をメイクファイルから単純に削除できますか?

4

1 に答える 1

2

削除してみてください。おそらく、そのファイルの機能 (必要のないもの) が失われることを意味するだけです。

makefile の構成によっては、そのモジュールのオブジェクト ファイルが見つからない場合にリンカーからエラーが発生する場合がありますが、おそらく自動的に処理されます。

ただし、さらに悪いリスクは、欠落しているファイルのコードに依存する他のコードが存在することです。その場合、リンカーは未解決の依存関係を報告し、それを修正するには、makefile だけでなくコードを変更する必要があります。

于 2013-11-14T06:57:55.257 に答える