カテゴリー別アーカイブ: Tips

[C++] ld: duplicate symbol エラーの解決策

C++でコードを書いていて、duplicate symbolというエラーが出てコンパイルが通らないことがあった。 たとえばこんな感じ。 g++ -O2 -o ./a.out main.cc function.o ld: duplicate symbol Find_solution(double (*)(Param&, double), Param&, double*)in function.o and /var/folders/5x/5xQHgcY6GxS5B1fAK7NoK++++TI/-Tmp-//ccr88Eat.o collect2: ld returned 1 exit status make: *** [constraints] Error 1 調べてみると、同じファイルを二重に include してしまったために、 関数や変数が二重定義されることで起こるエラーのようだ。 解決策としてはヘッダファイルに #ifndef __FUNCTION_H_INCLUDED_ #define __FUNCTION_H_INCLUDED_ … 続きを読む

カテゴリー: Tips | コメントをどうぞ

[C++] 警告 inline function used but never defined の解決策

プロの人からすれば常識なんだろうけど C++で inline関数を使っているときに warning: inline function used but never defined という警告が出ることがある。 http://www.parashift.com/c++-faq-lite/inline-functions.html#faq-9.6 によれば、inline関数は定義も ヘッダファイルに書かないといけないらしい。 普通の関数は、ヘッダで宣言だけして、定義はソースファイルに書くが インライン関数の場合は、ヘッダファイルに定義を書くのが正解ということ。

カテゴリー: Tips | コメントをどうぞ

[c++対処法] deprecated conversion from string constant to ‘char*’

c++でコンパイルをしようとすると  deprecated conversion from string constant to ‘char*’ という警告が出ることへの対策。 変更の予定のない文字定数の引数にconstをつけることで解決。 たとえば int testfunction( char keyword[]) を int testfunction( const char keyword[]) に変更。 ○追記: 直訳すると「string定数からchar*への変換は推奨されていない」ということ。 正直言うと、なんでこれで警告が起きなくなるのかあまり理解できていない。 C++に詳しい人がいたらコメントください。

カテゴリー: Tips | コメントをどうぞ

ソーシャルメディア用ボタン(いいね、ツイート、mixiチェックetc)まとめ

人から尋ねられたので調べたまとめ。 ソーシャルメディア(Facebook, twitter, mixi, はてな)などが提供する ボタン(いいね、ツイート、mixiチェックetc)の設置法まとめ。 時間があれば一括でできるようなコードを作ってみたい。 ○twitterのツイートボタン http://twitter.com/about/resources/buttons#tweet にアクセス。 「リンクを共用する」を選んで 「言語設定」を「日本語」にしたらあとはデフォルトでOKだと思います。 「コードのプリビューを見る」の下に <a href・・・で始まるコードが表示されるので、 これをHTMLの適当なところに書けばOK。 ○Facebookの「いいね」ボタン http://www.facebook-japan.com/iine.html が参考になると思います。 ○Google +1ボタン http://www.google.com/intl/ja/webmasters/+1/button/index.html からコードを取得できます。 <!– このタグを +1 ボタンを表示する場所に挿入してください –> <g:plusone annotation=”inline”></g:plusone> をボタンを表示させたい場所に挿入。 <!– この render 呼び出しを適切な位置に挿入してください –> 以下は<head>~</head>の間に入れてください。 「スニペットのカスタマイズ」以下は無視してOK ○はてなブックマーク http://b.hatena.ne.jp/guide/bbutton … 続きを読む

カテゴリー: Tips | コメントをどうぞ

海外PCで日本語を入力する

IT media Bizでものすごいサービスが紹介されていました。 なんと日本語変換のできない海外のPCでも日本語が入力できるサービスです。 ○Ajax IME: Web-based Japanese Input Method Operaでは上手く動かなかったので、FireFoxで試してみたのですが ・・・凄すぎる!!!!!! 感動です! ○Ajax を使った手書き文字認識 手書き文字の認識もできます。 これまた感動! ○きまぐれ日記: Ajax IME ブックマークレット さらにブックマークレットに登録しておけば、任意のフォームでこの機能が使えるという素晴らしさ。 ちなみにこんなサイトもありました。 ○Sumibi.org ローマ字を日本語に変換できる無料サイト 日本語入力して、そのまま Google で検索できます。 ただ使いやすさは、一番最初に紹介したAjax IMEが上かな。 元記事:ITmedia Biz.ID:海外のPCでも日本語を入力する

カテゴリー: Tips | コメントをどうぞ

Windowsで使える8つのTips from ITmedia

ITmedia Biz.ID の 3分LifeHacking から、 Windowsで使えるTipsを抜粋してみた。 個人的なメモなので分かりづらい点もあると思いますが、その点はネタ元を参照。 ○ファイル名に連番をつける 1.ファイル名を変更したいファイル群を選択 2.右クリックして「名前の変更」(またはF2キー) 3.新しいファイル名を入力し、Enterキーで確定 4.ファイル名末尾に(1)、(2)、・・・と連番がつく 間違えて入力した場合は[Ctrl]+[z]である程度元に戻る。 ○フォルダ内で目的のファイルを探す ファイル名の先頭の文字を入力すると、そのファイルが選択される。 たとえば[r]を押すと”readme.txt”が選択されるなど。 ○複数ファイルのコピーで「すべて上書きしない」 ファイルコピー時、同名のファイルがあるときには「上書きしますか?」と聞かれる。 このときの選択肢は 「はい」「すべて上書き」「いいえ」 の3つしかないが、 [Shift]を押しながら「いいえ」を押すと、「すべて上書きしない」選択になる。 元ネタ:ITmedia Biz.ID:Windowsだけでできる――3つのファイル操作ワザ ○F5キーの便利な使い方 ・Internet Explorer 7 ・Firefox 2 [Ctrl]+[F5] スーパーリロード(キャッシュを無視して読み込み) ・PowerPoint 2003/2007 [Shift]+[F5] 選択したページからスライドショーの実行 ・Word 2003 [Shift]+[F5] 直前の編集位置に移動 [Ctrl/Alt]+[F5] ウィンドウの大きさを元のサイズに戻す [Shift]+[Ctrl]+[F5]ブックマークを挿入する … 続きを読む

カテゴリー: Tips | コメントをどうぞ