VC++2005で。
多分これでイケる。
C言語に関しても解らないけど、VisualStudioの使い方も解らない。
libjingleの使い方については、おいおい調べる。
P2PでNAT越えしたいんだよおおお。
Google先生に感謝。
朝だ…、もう1日位休みが欲しい気分。
Windows Platform SDKをインストール
この辺を参考に。
Visual C++ Express Editionを使ってみる(Windows Platform SDK編)
http://freepg.fc2web.com/cpp/topic_vce_001.html
Expatをインストール
今の所、2.0.1が最新らしいけど、ディレクトリ構成がなんか違うから2.0.0を使う。
ここからダウンロード。
Browse Expat XML Parser Files on SourceForge.net
http://sourceforge.net/projects/expat/files/expat_win32/
環境設定はlibjingle内に入ってるREADME.winを参考に。
4. Update the Visual C++ directories in the Projects and Solutions section in the Options dialog box Library files: C:\expat-VERSION\StaticLibs Include files: C:\expat-VERSION\Source\Lib where VERSION is the version of expat you've downoaded
オプション->プロジェクトおよびソリューション->VC++ディレクトリ->ライブラリファイル
C:\Expat 2.0.0\StaticLibs
オプション->プロジェクトおよびソリューション->VC++ディレクトリ->インクルードファイル
C:\Expat 2.0.0\Source\Lib
libjingle.libをコンパイル
libjingle-0.4.0.zipをダウンロード
ここからダウンロード。
libjingle - Project Hosting on Google Code
http://code.google.com/p/libjingle/
とりあえず、D:\mydocument2\libjingle-0.4.0に解凍しとく。
環境設定
自分で新たに作る時の為の環境設定。
以下を追加。
オプション->プロジェクトおよびソリューション->VC++ディレクトリ->ライブラリファイル
D:\mydocument2\libjingle-0.4.0\talk\Debug
オプション->プロジェクトおよびソリューション->VC++ディレクトリ->インクルードファイル
D:\mydocument2\libjingle-0.4.0
サンプルを新たにコンパイル
とりあえず、includeしてエラーが出ない所まで。
大半をpcpからコピーした。
プロジェクト作成
新しいアプリケーション->Visual C++->Win32->コンソールアプリケーション
プロジェクト名 = libjingle_test
空のプロジェクト = true
ソース追加
ソリューションエクスプローラ->libjingle_test->ソースファイル->右クリック->追加->新しい項目
Visual C++->コード->C++ファイル (.cpp)
ファイル名 = main.cpp
#include <iomanip> #include <time.h> #ifndef WIN32 #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <iomanip> #include <sys/ioctl.h> #include <sys/types.h> #include <sys/wait.h> #else #include <direct.h> //typedef _getcwd getcwd; #include "talk/base/win32.h" #endif #include "talk/base/fileutils.h" #include "talk/base/pathutils.h" #include "talk/base/helpers.h" #include "talk/base/httpclient.h" #include "talk/base/logging.h" #include "talk/base/physicalsocketserver.h" #include "talk/base/ssladapter.h" #include "talk/xmpp/xmppclientsettings.h" #include "talk/examples/login/xmppthread.h" #include "talk/examples/login/xmppauth.h" #include "talk/p2p/client/httpportallocator.h" #include "talk/p2p/client/sessionmanagertask.h" #include "talk/session/fileshare/fileshare.h" #include "talk/examples/login/presencepushtask.h" #include "talk/examples/login/presenceouttask.h" #include "talk/examples/login/jingleinfotask.h" int main(int argc, char **argv) { talk_base::PhysicalSocketServer ss; printf("libjingle_test!!!\n"); return 0; }
プリプロセッサの定義
プロパティ->構成プロパティ->C++->プリプロセッサ->プリプロセッサの定義
WIN32 _DEBUG _CONSOLE _WINDOWS UNICODE _UNICODE WINVER=0x0500 _WIN32_WINNT=0x500 PRODUCTION_BUILD PRODUCTION XML_STATIC FEATURE_ENABLE_SSL FEATURE_ENABLE_CHAT_ARCHIVING FEATURE_ENABLE_VOICEMAIL
追加の依存ファイル
プロパティ->構成プロパティ->リンカ->入力->追加の依存ファイル
comsupp.lib secur32.lib ws2_32.lib libexpatMT.lib Iphlpapi.lib crypt32.lib libjingle.lib