enumに関するコンパイルエラー

C++

ずーっとenumに関するコンパイルエラーが消えなかったのですよ。 //File.h typedef enum _ENUM{ enum1, enum2, }ENUM; //File.cpp #include "File.h" void func(ENUM eNum){ } これでいけると思ってたらまさかのコンパイルエラー。内容はENUMが定義されてな…

俺コーディング規則

C++

ある程度の期間プログラマーをされている方ならきっと持っているだろう「俺コーディング規則」。一応、私自身もプログラマーの端くれなので持っているのですが実はかなりぶれぶれです。 クロスプラットフォームなマルチスレッドライブラリの実装をしている最…

4Tiled Display

やっとFedoraCore10で4面ディスプレイに成功しました。 xorg.confの設定次第でできるっぽいことはグーグル先生が教えてくれていたのですが、具体的な設定をどうかけばよいのか わからず試行錯誤でした。で複数画面に対応させるOptionとしてTwin ViewとXinera…

templateクラスのエラー

C++

前に引数に任意の型を代入できる行列クラスを実装したときにおきたエラー。 /** * @file class.h */ template<class T> public class Class{ public: Class(); ~Class(); T func(){ return t; } private: T t; }; このテンプレートクラス内のメンバ関数の内容(今回の</class>…

括弧に囲まれたテキストを抽出

C++

括弧に囲まれたテキストを抽出するプログラムを書いてみた。 sscanfで手抜きができないSJIS対策に作ったけど、多少苦労したので残しておきたい。 たとえば char test[1024]; strcpy(test,"てきすとを\"読み出す\"テスト。"); char* p=NULL; char* p2 = GetTe…

よくあるlicmtd.libの多重宣言エラーに再びひっかかる

C++

nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) はすでに LIBCMTD.lib(dbgnew.obj) で定義されています この種のエラーはVisualC++を使っていると避けられないのでは?と思うくらいよく出てきます。私だ…

FedoraCoreにnVidia

http://d.hatena.ne.jp/programer_hoshimi/20090415 の記事にかいたようにすれば基本的にXが起動するはずなのだが… 別のマシンに同じ操作をしてXを起動しようとしたら [EE]No device detected というエラーをログにはいて終了する。 いろいろと悩んだ結果SEL…

音声認識juliusを使ってみる

C++

前回の記事で紹介したgalateatalkに含まれる音声認識ライブラリjuliusをいじってみた。 windows版のインストールを時間を見つけてこの一週間くらい悪戦苦闘するのだが、足りないライブラリやそもそもmingwやlinux用に作られたライブラリであるせいか、ぜんぜ…

音声合成ライブラリgtalkを使ってみる

C++

最近無性にしゃべる人工無能が作りたい欲求にかられている。ニコニコなどで有名な『ゆっくり』こと「Aques Talk」でとりあえずは遊んでみたのだが、(mecabで形態素解析してAquesTalkに流す。)まずLinux版がフリーでない、およびアクセント辞書を持っていな…

OpenCVで「アプリケーションを正しく初期化できませんでした (0xc0150002) 」

C++

OpenCVのプログラムを組んでたら 「アプリケーションを正しく初期化できませんでした (0xc0150002) 」 というエラー。 Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ (x86) にあるプログラムをインストールしたら直ったのです。 はて?

yumの接続エラー?

yumでnvidia-kmodをインストールしようとしたところ [Errno -1] Package does not match intended download trying other mirror.というエラーをだし、ほかのミラーでも同じ現象がおこる。 ついちょっと前まではうまくインストールできていたのになぜ急にで…

FedoraCore10にNVidiaのドライバのインストール

FedoraCoreの10にNVidiaのドライバをインストールするのはとても苦労します。ここ4ヶ月ほど悪戦苦闘が続き、やっとうまくいく方法がみつかったのでメモしておきます。 FedoraCoreのインストール(基本的な前準備) インストール http://fedoraproject.org/ja…

{Linux}WindowsXPとLinuxのdualbootにさんざん手こずる

周りの人たちには簡単だよ?っていわれたXPとLinuxのDualBootですが、えらい苦労しました。この作業またやるかもなので、その課程をまとめたいと思います。 みなさんの参考になると幸いですw ちなみにこの記事で壊れたからって私は責任とれませんのであしか…

enumとmapについて

C++

下記のエラーとは別に出たエラーに関するメモ。 気分的には typedef enum _SAMPLE{ TEST1, TEST2, TEST3, }SAMPLE; class CClass{ public: int GetParam(SAMPLE eSample){ return m_mapSample[eSample]; //エラー }; private: std::map<SAMPLE,int> m_mapSample; }; みた</sample,int>…

constメンバ関数内でのmapについて

C++

例えば #include <iostream> #include <map> using namespace std; class CClass{ public: int Getmap(int i)const; private: map<int,int> m_mapTest; }; int CClass::GetMap(int i)const{ return m_mapTest[i]; } をすると return m_mapTest[i];の行でC2678のエラーが出る。 左オペ</int,int></map></iostream>…

C++のPI

C++

知らなかったんだけどC++でを呼び出すときいつも #define PI 3.14159265258979 とか const static double PI = 4*atan(1.0); とかやってたんだけどmath.hに定義してあったのね。(そりゃそうか・・・) #define _USE_MATH_DEFINES #include <math.h> すればM_PIという変</math.h>…

CentOSにFTGLをインストールしてみた

前回FedoraにFTGLをインストールしてみた。 しかし諸処の事情によりそのPCはアンインストールされ、かわりにCentOSが導入されたため、二度FTGLをインストールすることにした。 Fedoraではyumパッケージが提供されていたがCentでは提供去れていなかったので、…

GSLを使ってフィッティングしてみた

http://gonzaburou.cocolog-nifty.com/blog/2006/11/gslvisual_cc_8716.html 前述のとおりGSLをwindowsで使えるようにした。 あとは実際にどんなソースをかけばいいのかであるが、これは公式リファレンスの日本語訳 http://www.cbrc.jp/~tominaga/translatio…

GSLを使ってみる

C++

GSLは数値計算ライブラリ。GPLライセンスの元で配布されている。 GNUプロジェクトでUNIX用に開発されているためWindowsバイナリがなかなか見つからない。バージョン1.4くらいまでは無料で配布されていたのだが、その後有償になった。 で、どうしようかと悩ん…

ROOTを使ってみる

C++

実験の解析とバイトの両面で任意関数のフィッティングをする必要がでてきたのでROOTというCern(スイスにある世界最大の加速器の機構)の開発しているライブラリを使ってみることにした。 公式サイトはこちらから http://root.cern.ch/ライブラリとして使う…

Xerces-C++を使ってみる

C++

とりあえずXerces-C++の仕様を調べるためにこんなソースを書いてみた。 http://a-gamyl.hp.infoseek.co.jp/Clang/cppxml.html を参考にしていますです。おおよそこのまま。 /** * @file Xercesのサンプル * * @author Hoshimi's Works * @date 2008/09/12 * …

いまだにFTGLのコンパイルがとおらない

C++

というと語弊があるかもしれませんが、FTGLの関数でフォントをレンダリングした際のサイズを取得する関数にBBoxという関数があり、それをよびだすとリンクエラーがおきます。 具体的には FTFont *font; font = new FTGLPolygonFont("C:/WINDOWS/Fonts/MSGOTH…

XMLパーサのインストール

C++

先日に述べたとおりXMLパーサのライブラリを使うことになったので導入手順のメモ ただし構築環境は Windows XP 32bit VisualStudio2008である。いずれはLinuxでも導入予定。 ダウンロード http://xerces.apache.org/xerces-c/ からBinary Distributionsの xe…

XMLパーサライブラリ

C++

たぶん近日中に必要になる気がするので一応メモ Xerces-C++ http://xerces.apache.org/xerces-c/ Apacheライセンスなので、GPLのようにソースを公開する必要はないようである。 今作っているシューティングのステージデータをXML形式にしてパーサに使おうか…

任意精度計算用ライブラリ

単精度や倍精度程度じゃあ物足りないよねっていう人(つまりプログラム中で計算制度が10桁程度じゃ困る人)用のライブラリがあるらしい。友人や友人のいる研究室の教授は自作しているが一般にもGNUプロジェクトで作られているとのこと。 gmpというライブラリ…

OpenGLの一番簡単なテンプレート

を用意してみた。ただのメモ。 #include <GL/glut.h> void display(void) { glClear(GL_COLOR_BUFFER_BIT); glFlush(); } void init(void) { glClearColor(0.0, 0.0, 1.0, 1.0); } int main(int argc, char *argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT</gl/glut.h>…

SDL_mixerの使い方

一年位前にSDL_mixerを使って音を鳴らしてみたんだけどそのサンプルを残してなかったので今回残してみた。 ライブラリのダウンロードやドキュメントはこちら http://www.libsdl.org/projects/SDL_mixer/ ただ鳴らすだけのプログラム /** * @brief SDL_mixer…

wstringはちょっとやっかい

C++

UTFの日本語を扱うときはstringではなくwstringを使うのですが、この人ちょっと厄介です。例えば using namespace std; wstring str = L"やっかい。。。"; wcout << str <

日本語のsplit

C++

perlやphpはなにがいいって正規表現とかそういう文字列処理に優れているところなんですよね。 C++は文字列苦手なんですが、最近紹介してるboostというライブラリががんばってくれています。 とりあえず日本語の切り分けをするプログラムを組んだので紹介。 u…

boostの導入

C++

FTGLには(当然ながら)改行が実装されていないので自分で実装してやる必要がある。改行文字を自動で判別するのに毎回一文字ずつ確かめるのも馬鹿馬鹿しいのでboostのstringにやってもらおう!ということでboostを導入することに。boostのMSVCへの導入は至っ…