http://d.hatena.ne.jp/tt_clown/20100602/1275457123
http://d.hatena.ne.jp/deraw/20070517/1179334643
winsock2.h を include してる部分で嵌るので、unistd.h は
#ifdef NEED_GETHOSTNAME
#ifndef _WINDOWS_
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#undef WIN32_LEAN_AND_MEAN
#endif
#pragma comment( lib, "ws2_32" )
#include <winsock2.h>
#endif
と、修正する事。
今後、コンパイルエラーで
gethostname を使用している箇所があれば、
#define NEED_GETHOSTNAME
#include <unistd.h>
#undef NEED_GETHOSTNAME
としてやれば良い。
面倒でも、こうしないと、あちこちエラーで悩まされるだろう。
zconf.h
ここで、Z_HAVE_UNISTD_H の定義を消す事
#ifndef ZCONF_H #define ZCONF_H /* #undef Z_PREFIX */ //#define Z_HAVE_UNISTD_H
ACCESS_MASK が winnt.h と、namespace cv::ACCESS_MASK でバッティングしている。
test_grfmt.cpp はテストユニットみたいなんで、コンパイルのターゲットから外してしまうか、
// using namespace cv;
のように、コメントアウトして、地道に cv::Mat みたいに namespace を付けて回るか?
以上。
補足:
cmake-gui でエラーとか、com をコンパイルでエラーとか、全部、管理者権限が脳足りんのじゃ。
追記:
VC11とか、include dir の設定が共通化でけん。
ここを参照しろ。
http://d.hatena.ne.jp/taiyakisun/20130406/1365248215
VC11 は、こんな感じ。
よく無いって怒られる。cstdint とか、unistd.h とかを入れといたった。
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<IncludePath>$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath);$(WindowsSdkDir)include;D:\Libs\cstdint</IncludePath>
<LibraryPath>$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WindowsSDK_LibraryPath_x86);$(WindowsSdkDir)lib;</LibraryPath>
</PropertyGroup>
</Project>
0 件のコメント:
コメントを投稿