質問: open("out", O_WRONLY); while (0 < read(fdi, b, 1)) { write(fdo, b, 1); } close(fdi); close(fdo); } ``` 上のプログラムのopenのところでエラーになってしまいます。 なにか、多分インクルードファイルが少ないのだと思うのですがどのように解決したらいいですか。 *1: 正確には、コンパイラはC++ですがCの機能だけを使う予定です。 ``` "/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf make[1]: ディレクトリ `/home/aaa/NetBeansProjects/C' に入ります "/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/c_____ make[2]: ディレクトリ `/home/aaa/NetBeansProjects/C' に入ります mkdir -p build/Debug/GNU-Linux-x86/_ext/986599228 rm -f "build/Debug/GNU-Linux-x86/_ext/986599228/02.o.d" g++ -c -g -MMD -MP -MF "build/Debug/GNU-Linux-x86/_ext/986599228/02.o.d" -o build/Debug/GNU-Linux-x86/_ext/986599228/02.o /home/aaa/NetBeansProjects/C/問題4-X/02.cpp mkdir -p dist/Debug/GNU-Linux-x86 g++ -o dist/Debug/GNU-Linux-x86/c_____ build/Debug/GNU-Linux-x86/_ext/986599228/01.o build/Debug/GNU-Linux-x86/_ext/986599228/02.o build/Debug/GNU-Linux-x86/_ext/986599228/02.o: 関数 `main' 内: /home/aaa/NetBeansProjects/C/問題4-X/02.cpp:11: `main' が重複して定義されています build/Debug/GNU-Linux-x86/_ext/986599228/01.o:/home/aaa/NetBeansProjects/C/問題4-X/01.cpp:17: ここで最初に定義されています collect2: error: ld returned 1 exit status make[2]: *** [dist/Debug/GNU-Linux-x86/c_____] エラー 1 make[2]: ディレクトリ `/home/aaa/NetBeansProjects/C' から出ます make[1]: *** [.build-conf] エラー 2 make[1]: ディレクトリ `/home/aaa/NetBeansProjects/C' から出ます make: *** [.build-impl] エラー 2 ビルド FAILED (終了値2, 合計時間: 213ms) ```
回答: 複数ソースコードがコンパイルされてしまって、それぞれにmain()があってシンボルの重複でリンクエラーになってる気がします。。 /home/aaa/NetBeansProjects/C/問題4-X/01.cpp /home/aaa/NetBeansProjects/C/問題4-X/02.cpp インクルードするヘッダファイルは合っていると思います。 NetBeansはわからないのですが、そのソースコード単体をgccでコマンドラインでビルドすると通りませんか?