2005年10月31日月曜日

Visual C++: LNK4006

プロジェクトが大きくなってくると、dynamic link library (dll)やら、static link library (lib)を作って、プロジェクトを分割していきます。今日は、DLLを作成中に、LNK4006が多発してはまりました(-_-;; helpを見ると、以下の通り。

symbol
already defined in object; second definition ignored

The given symbol, displayed in its decorated form, was multiply defined. When this warning is encountered, symbol will be added twice, but only its first form will be used.

You can get this warning if you try to merge two import libs into one.

Tips

  • The given symbol may be a packaged function, created by compiling with /Gy. This symbol was included in more than one file but was changed between compilations. Recompile all files that include the symbol.
  • The given symbol may have been defined differently in two member objects in different libraries.
  • An absolute may have been defined twice, with a different value in each definition.
  • If the error message is received when combining libraries, symbol already exists in the library being added to.

If you are rebuilding the C run-time library, you can ignore this message.


で、原因はどうやら上の赤字の部分。十数分悪戦苦闘した結果、ライブラリを作成中に、static libraryをリンクするようにしていたことが問題だと発覚。

static link libraryを作るプロジェクトAとBがあって、両者はともに同じファイルCを参照しています。しかし、Cの実体(*.cpp)は、Aに含まれていま す。 すると、Bをlibraryとしてbuildするときに、Aで作成されたライブラリをリンクするように設定していたため、Bの中に、Aで定義されたCと、 BでincludeしたCが混ざってでてきてしまいました。 これがlnk4006の原因。

落ち着いて考えるとなんてことないし、まさにヘルプに書いてある通りのwarningがでているのだけれど。。。

日記さぼるとランキングがすぐにさがってしまいます(T-T)

Javadocの国際化

Javaのソースコードに英語&日本語でコメントを書きたいのだけれど、日本向けのjavadoc, 英語圏向けのjavadocの出力を切り替えることって可能なのだろうか。情報求む。

[追記]
http://java.sun.com/j2se/javadoc/faq/index.html#localizationdoclets
JavaのAPIは上のリンクのようにして、翻訳している模様。 でも、これって、オリジナルのコメントを更新するたびに、日本語版を作り直すという作業が必要になるのではと懸念。

子供時間

について、長々と書いていたのに、Firefoxが落ちて、内容が消えてしまった…(T-T) GMailみたいに途中保存してほしい…

2005年10月27日木曜日

本当にほしいもの

商品開発の段階で、顧客が欲しいと思う商品を調査してそのまま作っても、実際
には売れない、ということをよく耳にします。自動車メーカーは特にそうらしい。

顧客は自分が欲しいものを本当は理解していないという見方もできるし、顧客が
まったく目新しいものに惹かれるという面もあるのでしょう。

政治にも同じことが当てはまるかと。

よく、国民の意見を聞いてとか、議論が深まってきてから検討
するといいますが、そのような姿勢では魅力ある国や政府は作れないのではない
でしょうか。
当然、今の不満を改善するということは必要だけれど、今後どのような国にして
いくかというテーマについては、新商品を開発して実際に見せてほしいのです。

2005年10月26日水曜日

Harvard Business Review

Harvard Business Review が読みたかったのだけれど、書籍部では売り切れ。英語版の年間購読でもしようかな…(-_-

<-もう少しで100位突破なんだけど、なかなか(T-T)

License

Creative Commons LicenseLeo's Chronicle by Taro L. Saito is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.1 Japan License.