みなさんこんにちは。
ご無沙汰しております。
OpenGLを使ったクラスプラットフォームな開発。
正直ナメてました。
調子ぶっこいてプログラム打ってたらリンクエラーの迷宮に迷い込んでしまいました。
とりあえずそのままビルドすると
というリンクエラーが出るためLIBCMT.lib/LIBCMTD.libを無視する設定にします。
すると当然、そのライブラリで定義されているものは使えなくなるわけですが、std::stringなどのコンテナクラスを一つでもインクルードしようものなら
というリンクエラーが出てしまいます。
その横に『libcpmtd.lib(stdthrow.obj)』などと書かれているものですから、LIBCMT.lib/LIBCMTD.libの時と同じように、ライブラリを無視する設定を追加すればいけるのでは?というわけのわからない考えが頭をよぎったが最後、
「libcpmtd.libを無視する設定にする」→大量のリンクエラー
まあ当然の結果です。
しかしそこで方向転換しないのがモノクロ クオリティ(ちょ
”さっき表示されてた別のライブラリを無視すればよいのでは??”という理論性の欠片も無い発想に突き動かされ、
ライブラリを無視する→それに依存するライブラリ内でエラーが発生する→そのライブラリも無視してしまえ!→以後繰り返し
という無限の迷宮に自ら入り込み、危うくVisualStudioの全ての標準ライブラリを無視する設定を作り上げてしまうところでした。
まあ途中で正気に戻って、どうやらstd::stringなんかが__CrtDbgReportWを使っているらしいということを突き止め、std::stringを使わないようにすればエラーが出なくなるのではないかという結論にやっとこさ至ったのでした。
しかし不便ですね。
まあしょうがないのでコンテナクラスを使いたくなったら自分で作ることにします。
それと、VisualStudioの設定の仕方がよくわかりません。
というのも、WinMainなんて書いてたら明らかにクロスプラットフォームなソースコードではないわけです。
だから「コンソールプロジェクトではなくWin32プロジェクトだがエントリーポイントはmainである」という設定にしたいのですが…できませんでした!
エントリーポイントという項目は見つけたのですが、どんな値を入力すれば良いのかわかりません…。
逆にコンソールプロジェクトで作成してサブシステムをWINDOWSに設定すればいいんじゃないかと考えてやってみたのですがエントリーポイントが強制的にWinMainになってしまうようです。
今日はもう遅いので、これについての調査はまた今度ですね。
今回は以上です。
それでは楽しいプログラミングライフを!
←調子こいた結果リンクエラーの迷宮に迷い込んでしばらく帰ってこれなかった人
- MoNoQLoREATOR
- 記事: 284
- 登録日時: 14年前
- 住所: 東京
←調子こいた結果リンクエラーの迷宮に迷い込んでしばらく帰ってこれなかった人
最後に編集したユーザー MoNoQLoREATOR on 2014年8月03日(日) 23:29 [ 編集 2 回目 ]
Re: ←調子こいた結果リンクエラーの迷宮に迷い込んでしばらく帰ってこれなかった人
たぶんランタイムライブラリの設定が間違ってます。
http://oshiro.bpe.es.osaka-u.ac.jp/peop ... sp_content
エントリポイントを変更する方法は
http://stackoverflow.com/a/11785733
http://oshiro.bpe.es.osaka-u.ac.jp/peop ... sp_content
エントリポイントを変更する方法は
http://stackoverflow.com/a/11785733
- MoNoQLoREATOR
- 記事: 284
- 登録日時: 14年前
- 住所: 東京
Re: ←調子こいた結果リンクエラーの迷宮に迷い込んでしばらく帰ってこれなかった人
>>みけCATさん
いや意味わかんないです。
>>h2so5さん
ありがとうございます。
なるほどそこの設定が食い違っているとこの症状が出るのですか。
マルチスレッドDLLの方に設定したらリンクエラーが解決しました。
エントリポイントの問題は…解決した…だと…!?
おかしいな~この前やったときはプラグマコメントさんが全く機能してくれなかったんだけどな~
いや意味わかんないです。
>>h2so5さん
ありがとうございます。
なるほどそこの設定が食い違っているとこの症状が出るのですか。
マルチスレッドDLLの方に設定したらリンクエラーが解決しました。
エントリポイントの問題は…解決した…だと…!?
おかしいな~この前やったときはプラグマコメントさんが全く機能してくれなかったんだけどな~