インクルードのエラーについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
ptolemy
記事: 258
登録日時: 10年前

インクルードのエラーについて

#1

投稿記事 by ptolemy » 10年前

僕は、VC++2008とpspsdkを使い、pspのメールのプラグインを作っています。

そして、ネットワーク関係を使うため、Pocoというライブラリを導入しようとしたんですが、インクルードしようとするとファイルがないと出ます。

インクルードしたいパス:C: /program files / /Poco -all/Net/include/Poco/Net/POP3ClientSession.h
VC のオプションに通したパス: C: /program files /Poco -all/Net/include
プログラム:#include<Poco/Net/POP3ClientSession.h >

と書いています。

また、こちらを参考にしています。
http://d.hatena.ne.jp/tullio/touch/20090616

何かおかしいところは、あるでしょうか?

ご回答お願いします。
最後に編集したユーザー ptolemy on 2014年3月26日(水) 23:25 [ 編集 2 回目 ]

Poco
記事: 161
登録日時: 13年前

Re: インクルードのエラーについて

#2

投稿記事 by Poco » 10年前

VCで設定したパスが間違っていませんか?
C: /program fileではなくてC:/program filesでは?

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: インクルードのエラーについて

#3

投稿記事 by ptolemy » 10年前

VC のパスは、通っていました。

質問に
ミスがあったみたいです。
修正しておきます。

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: インクルードのエラーについて

#4

投稿記事 by ptolemy » 10年前

パスには、問題がないとすると導入のしかたが間違っているということですか?
ご回答お願いします。

かずま

Re: インクルードのエラーについて

#5

投稿記事 by かずま » 10年前

ptolemy さんが書きました: プログラム:#include<Poco/Net/ POP3Client Session.h >

と書いています。

また、こちらを参考にしています。
http://d.hatena.ne.jp/tullio/touch/20090616
参考にしているところでは、
#include <Poco/Net/POP3ClientSession.h>
と書かれています。
ptolemy さんが書きました: 何かおかしいところは、あるでしょうか?
スペースなのではありませんか?
#include <stdio.h> を #include<std io.h > と書くとエラーになります。

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: インクルードのエラーについて

#6

投稿記事 by ptolemy » 10年前

ご指摘ありがとうございます。

ソースコードを確認してみます。

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: インクルードのエラーについて

#7

投稿記事 by ptolemy » 10年前

すみません。

ソースコードは、あってました。
質問が間違っていたので修正します。

かずま

Re: インクルードのエラーについて

#8

投稿記事 by かずま » 10年前

ptolemy さんが書きました: インクルードしたいパス:C: /program files / /Poco -all/Net/include/Poco/Net/POP3ClientSession.h
VC のオプションに通したパス: C: /program files /Poco -all/Net/include
スペースですが、これは直さなくていいんですか?
何で、パスに ファイル名が書いてあるんですか?

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: インクルードのエラーについて

#9

投稿記事 by ptolemy » 10年前

もしかしたら今までパスの意味を間違っていたかもしれません。

パスとは、ファイルの場所ではなかったんですか?

また、直してなかったスペースとは、どこですか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: インクルードのエラーについて

#10

投稿記事 by softya(ソフト屋) » 10年前

インクルードパスは、#include文に書いたファイルパスとVC のオプションに通したフォルダパスが合成された形で使われます。
なので、正確を期するためコピペして掲示板に掲載してください。
最初の頃の質問を見るとファイル名やらフォルダ名にやたらとスペースが入っています。
実際のファイルパスと同じなら良いのですが違うならエラーに成って当然です。

【補足】
こういうツールがあるので、絶対パスを確認できます。この絶対パスもコピペしてもらうと良いかと。
「フルパス取得くんの詳細情報 : Vector ソフトを探す!」
http://www.vector.co.jp/soft/win95/util/se291592.html

【補足の補足】
プログラムのバグ取りの最大の敵は思い込みです。
なので、極力正確で第三者視点に立つことが必要です。
余分なことはしない。情報は正確に。これを常に意識してください。
参考サイトの内容にアレンジを一切加えずにやってみて問題が起きないなら、アレンジが間違っていると言う当然の結論に成るますよね。
そこから調べるというのが、本来のアプローチです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

N.R

Re: インクルードのエラーについて

#11

投稿記事 by N.R » 10年前

>パスとは、ファイルの場所ではなかったんですか?
パスとは場所ですね。

 パス"c:/test" に "test.h" を作ります
は実行できます。

>インクルードしたいパス:C:/program files//Poco -all/Net/include/Poco/Net/POP3ClientSession.h

 パス"C:/program files//Poco -all/Net/include/Poco/Net/POP3ClientSession.h" に "test.h" を作ります
は実行できませんよね

もっとも POP3ClientSession.h というフォルダがあるかもしれませんが include で指定しているからフォルダではないと予想はできます。
要するに議題者の環境というのはこちらからは分からないのです

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: インクルードのエラーについて

#12

投稿記事 by ISLe » 10年前

パスとは、ファイルシステム上の位置を示す文字列のことです。

特定のファイルを示すパスは、そのファイルのファイル名も含みます。
質問にある「インクルードしたいパス」は「インクルードしたいヘッダファイルのパス」と容易に読み替えられる気がします。

ファイルやフォルダの名前に、前後に空白を含む名前や、空白のみの名前は使えないので、設定内容が導入以前の問題です。

Vista以降なら、エクスプローラで右クリックから『パスとしてコピー』でフルパスをクリップボードにコピーできます。

(訂正)
『パスとしてコピー』はシフトキーを押したまま右クリックで表示するメニューにあります。
最後に編集したユーザー ISLe on 2014年3月28日(金) 00:17 [ 編集 3 回目 ]

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: インクルードのエラーについて

#13

投稿記事 by ptolemy » 10年前

詳しくありがとうございます。
OSは、XPです。
また、掲示板に質問をしたときの端末が入力したらスペースをあけるというふうになってました。
なので改めて、PC から正確に書きたいと思います。

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: インクルードのエラーについて

#14

投稿記事 by みけCAT » 10年前

オフトピック
ISLe さんが書きました:Vista以降なら、エクスプローラで右クリックから『パスとしてコピー』でフルパスをクリップボードにコピーできます。
自分の環境では、Shift+右クリックでないと「パスとしてコピー」というメニューが出ないようでした。

Windows Vista Home Premium SP2 32ビット
Intel(R) Core(TM)2Duo T8100 @2.10GHz 2.10GHz
RAM 4.00GB
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: インクルードのエラーについて

#15

投稿記事 by softya(ソフト屋) » 10年前

> また、掲示板に質問をしたときの端末が入力したらスペースをあけるというふうになってました。

ここが意味不明です。端末とは何でしょうか? 
「端末が入力したらスペースをあけるというふうになってました。」
端末というものがスペースを空けるのでしょうか?

もしかして、スマホのことでしょうか。
それなら、不正確になると言うことは分かっていて投稿されたと言うことですね。
最初に正確ではないと断りを入れるべき事だと思います。
あるいは、スマホの設定を変えるべきかと思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: インクルードのエラーについて

#16

投稿記事 by みけCAT » 10年前

softya(ソフト屋) さんが書きました:もしかして、スマホのことでしょうか。
それなら、不正確になると言うことは分かっていて投稿されたと言うことですね。
最初に正確ではないと断りを入れるべき事だと思います。
あるいは、スマホの設定を変えるべきかと思います。
空白が入る設定になっていることに気づいていなかった、という解釈もできると思います。
IMEが勝手に空白を入れるということに気づいていたら、空白が入っても消せばいいだけという気がしますし…。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

ptolemy2

Re: インクルードのエラーについて

#17

投稿記事 by ptolemy2 » 10年前

スマホの空白についてですが空白が入る設定になっていることに気づいていませんでした。
誤解を招いてすみませんでした。


フルパス取得くん→C:\Program Files\poco-1.4.6p2-all\Net\include\Poco\Net\POP3ClientSession.h
プログラム→#include<Poco\Net\POP3ClientSession.h> 
VCディレクトリ→C:\Program Files\poco-1.4.6p2-all\Net\include
エラー→ >main.cpp:4:39: error: Poco\Net\POP3ClientSession.h: No such file or directory


poco-allと書いていた部分が違ってました。
ここは、確認不足でした。
しかし、VCディレクトリのpoco-allを直しても駄目でした。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: インクルードのエラーについて

#18

投稿記事 by softya(ソフト屋) » 10年前

情報として不足しているのですが、VCディレクトリは[インクルード ディレクトリ]をちゃんと指定されているのでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: インクルードのエラーについて

#19

投稿記事 by ptolemy » 10年前

指定しています。

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: インクルードのエラーについて

#20

投稿記事 by ISLe » 10年前

ptolemy2 さんが書きました:エラー→ >main.cpp:4:39: error: Poco\Net\POP3ClientSession.h: No such file or directory
これってVC++のコンパイルエラーではないですね。

PSPSDKでビルド用のインクルードパスはmakefileを書き換えて設定する必要があるみたいです。
もしかすると環境変数INCLUDEに設定するだけで良いかもしれません。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: インクルードのエラーについて

#21

投稿記事 by softya(ソフト屋) » 10年前

そういえば、gccでコンパイルしてませんか? とするとVC++の設定をいじっても無駄ですよ。
【補足】
makefileかバッチファイルがあると思うので、そちらを修正してください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: インクルードのエラーについて

#22

投稿記事 by ptolemy » 10年前

makifile の方は、調べてみます。

しかし、調べてもgccとVC++の関係がよくわからないんですが解説してもらえませんか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: インクルードのエラーについて

#23

投稿記事 by softya(ソフト屋) » 10年前

ptolemy さんが書きました:makifile の方は、調べてみます。

しかし、調べてもgccとVC++の関係がよくわからないんですが解説してもらえませんか?
その環境はよく分かっていませんが、PSP SDKはgccで実行ファイルを作るようになっています。
そもそもPSPのCPUの機械語コードをVC++は作ることが出来ません。
なのでコンパイルチェックは出来ても、実行ファイルをVC++では作ることが出来ないのです。
単なるエディタとして使われているのでは?と思うのですが。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: インクルードのエラーについて

#24

投稿記事 by ptolemy » 10年前

しばらくPC が使えず返信出来ませんでした。
一度PCように作ってからPSP に移すという形にしようと思い、かいたんですがエラーにファイルがないとエラーがでました。しかし、PCのなかには、そのようなファイルは、見つかりませんでした。この場合は、どう対処すればいいですか?一応プログラムをのせます。
目的は、メールの受信箱にあるメールの数を表示するプログラムです。
一定の時間ごとに取得するやり方がいまいちわからなかったので少し変かもしれません。

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: インクルードのエラーについて

#25

投稿記事 by ptolemy » 10年前

コード:

 
 #include<iostream> 

#include<Poco\Net\POP3ClientSession.h>
#include<stdio.h>



using	namespace	std;	
using	Poco::Net::POP3ClientSession;

int	count=0,mailcount=0,mail;

int	main(){

string	pophost="pop.mail.yahoo.co.jp";
string	user="*****";//ユーザー名と
パスワードは、*で置き換えます。
string	pass="*****";			

POP3ClientSession	client(pophost,110);

client.login(user,pass);		

POP3ClientSession::MessageInfoVec	messagelist;

client.listMessages(messagelist);

	if(count==0){
	mailcount=0;
	}
	if(count<202){
		count++;
	}
	if(count==200){
		for(POP3ClientSession::MessageInfoVec::iterator	i=messagelist.begin();i!=messagelist.end();++i){
			mailcount++;
		}
		mail=mailcount;
		count=0;
	}
	
 printf("%d",mail);
 



	return	0;
}
____________\
>LINK : fatal error LNK1104: ファイル 'PocoFoundationd.lib' を開くことができません。 

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: インクルードのエラーについて

#26

投稿記事 by softya(ソフト屋) » 10年前

Net\POP3ClientSession.hはWindowsに対応しているのでしょうか? あるいはWindows用のライブラリを配布しているのでしょうか?
していなければ、そのまま使うことは出来ません。

これのことでしょうか?
「Systems Programming - 2009/Fall - Assignment 2 Forum」
http://www.cs.bgu.ac.il/~spl091/Assignm ... 6c90cc3231
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: インクルードのエラーについて

#27

投稿記事 by ptolemy » 10年前

英語が得意ではないので詳しくリンクサイトは、見てませんがリンクサイトに書いていたファイルとエラーにでてきたファイルは、同じです。

私は、 http://pocoproject.org/download/
のサイトでダウンロードした気がするのでwindows 用だと思います。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: インクルードのエラーについて

#28

投稿記事 by softya(ソフト屋) » 10年前

英語が得意じゃなくても翻訳サイトは使えると思います。 英語中心のPSPの開発環境ですから英語を投げると何も出来ません。
翻訳サイトで確認はされていますか?

【補足】
今頃聞いてなんですが、このPocoってPSPで動くほどコンパクトなのでしょうか?
C++って段階で危険な印象がありますが実績は有るんですよね?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: インクルードのエラーについて

#29

投稿記事 by ptolemy » 10年前

すみません。今年受験なので色々あって返信遅れました。
ライブラリにコンパクト等と言うものがあったんですね。
また、実績はないので不可能と思われます。

色々と教えていただきありがとうございました。

これから、pspのアプリ開発をやめて、3Dゲーム開発に戻ろうと思います。
ご回答ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る