ここから質問投稿すると、最大10000ポイント当たる!!!! >>

boostライブラリをどう削除すれば良いのか分からないでいます。

過去に、boostライブラリというものを、C++の勉強中によく分からないままインストールしました。
記憶は曖昧ですが、ビルドもしました。

C:\boost_1_43_0フォルダが今もあるのですが、これをそのまま右クリックから削除しても良いものなのか、それとも正式なアンインストール方法があるのか、分からないでいます。

WindowsXPなのですが…。

まずこの日本語の説明で伝わるのかも分かっておりませんが、どなたか分かる方、よろしくお願いします。

A 回答 (1件)

インストーラで自動的にシステムに登録するようなことは


してないので、単にフォルダを削除するだけでよいと
思いますよ。

(参考)
http://www.boost.org/doc/libs/1_43_0/more/gettin …
    • good
    • 1
この回答へのお礼

ありがとうございました!

お礼日時:2011/10/17 01:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QMakefile作成時の拡張子.oとは?

main2.o: main.c
gcc -o main2.o -c main.c
hello2.o: hello.c
gcc -o hello2.o -c hello.c
test2: main2.o hello2.o
gcc -o test2 main2.o hello2.o
のようなMakefile作成時の拡張子.oとは何のファイルという意味なのでしょうか?
Makefile作成初心者なのでご教授お願いいたします。

Aベストアンサー

これは
main.cからmain2.oというオブジェクトファイルを作りなさい。
hello.cからhello2.oというオブジェクトファイルを作りなさい。
main2.oとhello2.oをリンクしてtest2という実行ファイルを作りなさい
って事です。
多分、main.cにはmain()関数があり
hello.cには別ファイルとしてmain.c内のソースから呼び出している
外部関数が有ると思います。
それをリンクするのに一端オブジェクトファイルを
つくりその後リンクして一つの実行ファイルにしているのです。

Qenumの値から定義名を文字列化したい

C++でenumの値を元に、定義した名前(Fruits_Appleとか)を文字列として取得したいのですが、何か良い方法はないでしょうか?
switch文等で分岐させて...という方法もありますが、enumの定義数が多くなるとコードが複雑になるので、シンプルな方法をさがしています。


enum Fruits{
Fruits_Apple,
Fruits_Orange,

Fruits_End
};

void printFruits(Fruits fruits)
{
// ここで引数fruitsの値に応じて"Fruits_Apple"とか"Fruits_Orange"とかを
// 文字列に代入したい
std::string fruitsName = "Fruits_Apple";
}

Aベストアンサー

 こんばんは。
 例えば、boostライブラリのメタプリプロセッサの如く、可視性など関係なしに手段を選ばなければナンボでも出来ます。
 ただし一回でも陥ると地獄そのものです。

//-------------------------------------------------------------------------------------
//misc.hpp
//-------------------------------------------------------------------------------------
#ifndef __MISC_HPP__
#define __MISC_HPP__
#define ArrayCount(a) (sizeof(a)/sizeof(a[0]))
#define ArrayEnd(a) (a + ArrayCount(a))
#endif
//-------------------------------------------------------------------------------------
//misc.hpp
//-------------------------------------------------------------------------------------

//-------------------------------------------------------------------------------------
//fruits.hpp
//-------------------------------------------------------------------------------------
#include"misc.hpp"

//enumを作成する
#ifdef MAKEENUM

#define MAKEHDR(name) enum name {
#define MAKELINE(name) name
#define MAKEFTR(name) };

//arr##name##Pair[]を作成して、map##name##Resultに入れる
#else

#define MAKEHDR(name)std::pair<name, std::string> arr##name##Pair[] = {
#define MAKELINE(name)std::make_pair(name, std::string(#name))
#define MAKEFTR(name)}; \
std::map<name, std::string> map##name##Result;\
{for(size_t n = 0; n < ArrayCount(arr##name##Pair); ++n)map##name##Result.insert(arr##name##Pair[n]);}

#endif

MAKEHDR(Fruits)
MAKELINE(Fruits_Apple),
MAKELINE(Fruits_Orange),
MAKELINE(Fruits_End)
MAKEFTR(Fruits)

MAKEHDR(Gender)
MAKELINE(Gender_Male),
MAKELINE(Gender_Female),
MAKELINE(Gender_End)
MAKEFTR(Gender)

#undef MAKEHDR
#undef MAKELINE
#undef MAKEFTR
#undef MAKEENUM
//-------------------------------------------------------------------------------------
//fruits.hpp
//-------------------------------------------------------------------------------------

//-------------------------------------------------------------------------------------
//test.cpp
//-------------------------------------------------------------------------------------
#include<map>
#include<string>
#include<iostream>

//enumの作成
#define MAKEENUM
#include"fruits.hpp"

static void Print(Fruits fruits, Gender gender)
{
//map##name##Resultの作成
#include"fruits.hpp"

std::cout << mapFruitsResult[fruits] << std::endl;
std::cout << mapGenderResult[gender] << std::endl;
}

int main()
{
::Print(Fruits_Apple, Gender_Female);
return 0;
}
//-------------------------------------------------------------------------------------
//test.cpp
//-------------------------------------------------------------------------------------

 こんばんは。
 例えば、boostライブラリのメタプリプロセッサの如く、可視性など関係なしに手段を選ばなければナンボでも出来ます。
 ただし一回でも陥ると地獄そのものです。

//-------------------------------------------------------------------------------------
//misc.hpp
//-------------------------------------------------------------------------------------
#ifndef __MISC_HPP__
#define __MISC_HPP__
#define ArrayCount(a) (sizeof(a)/sizeof(a[0]))
#define ArrayEnd(a) (a...続きを読む

QCString から LPCTSTRの型に変換

visual studio 2013 VC++を使用していますが、WINDOWSの関数に渡すためにCString からLPCTSTRに変換する必要があります。実際にどのようにするのかわかりません。
例えば、以下のサンプルは他の質問コーナーの回答をアレンジしたものです

CString str = _T("ABC");
int siz = str.GetLength()+1;
LPCTSTR pszFName = new TCHAR[siz];
_tcscpy_s( pszFName, siz, str );

で変換するのですが
LPCTSTRからwchar_t*へ変換できませんとエラーがでます
_tcscpy_s()は使用できないのでしょうか

Aベストアンサー

>APIはCStdioFile の Open()でファイル名を与えるところ

APIではないようですが……。

http://msdn.microsoft.com/ja-jp/library/ee247566.aspx
ならば、そのままCStringの変数渡せば、よろしく処理してくれると思いますけど。

Q関数から配列を返すには?

return で配列を返すにはどうしたらよいのでしょうか。
例えば以下のような場合です。

int main (){

char Value[] = "999";
int a;

 a = test(Value);

 printf ("%d", a);
 
}


int test(char *Value)
{
int nVal[255];

ここで nVal に適当な処理をして・・・

 return Value;

}


 int a を配列とかにしてみましたけど、コンパイラが
通りません。
要は配列数値を main で受け取って表示したいのですが、
本日C言語はじめたところなので、教えていただければありががたいです。

Aベストアンサー

戻り値は1つしか戻せません。
引数で配列の先頭のポインタが渡され、それを使って関数で配列の中身を
書き換えて戻ってきて、メインで配列を参照すればいいです。

参考urlの(3)を参考にしてください。

参考URL:http://www9.plala.or.jp/sgwr-t/c/sec11-3.html

QcharからLPTSTRへの変換方法

リストコントロールにchar型の変数の値を数値として表示させたいのですが、charからLPTSTRへの洗練された変換方法がよくわからないです。

char tempChar;
CString tempString;
tempString.Format("%s", tempChar);
LPTSTR lpsz = new TCHAR[tempString.GetLength()+1];
_tcscpy(lpsz, tempString);

こんなプログラムを考えてみたのですが、汚いような気がします。もっと簡単で洗練された変換方法はないのでしょうか?

Aベストアンサー

wsprintfを使ってはどうでしょうか?

char tmpChar = 100;//表示する数値
TCHAR buf[5];
wsprintf(buf, "%d", tempChar);

Q「インクルードファイル 'pthread.h' をオープンできない」というエラー

今簡単なサーバ・クライアントシステムをつくっていて、大まかな骨組みはできました。
で、骨組みができたところで先生が、「並列処理を可能にするため、スレッドを使ってみましょう。スレッドについては次回までに各自勉強してきておいてください。」といったので、帰ってからインターネットで調べてみた結果、マルチスレッドの例みたいなプログラムのソースをいくつか見付けました。
私はスレッドというものを全く知らなかったので(というかそもそもC言語についてもそれほど詳しくないのですが)、とりあえずそのソースをコピーしてどのような動作をするのか確認しようと思いました。
ところがコンパイルするときに、
「インクルードファイル 'pthread.h' をオープンできない」
というエラーがでてきてしまうのです。
ちなみに家で使っている
CPad for Borland C++Compiler
と、
学校で使っている
Microsoft Visual C++ (だったかな?)
の両方でコンパイルしてみましたが、両方とも同じエラーが起こります。
どうすればいいのでしょうか?

今簡単なサーバ・クライアントシステムをつくっていて、大まかな骨組みはできました。
で、骨組みができたところで先生が、「並列処理を可能にするため、スレッドを使ってみましょう。スレッドについては次回までに各自勉強してきておいてください。」といったので、帰ってからインターネットで調べてみた結果、マルチスレッドの例みたいなプログラムのソースをいくつか見付けました。
私はスレッドというものを全く知らなかったので(というかそもそもC言語についてもそれほど詳しくないのですが)、とりあえず...続きを読む

Aベストアンサー

自信ないのですが pthread.hってUNIX系だと
思うのですが・・
windowsにはないと思います。
参考にされているWEBがUNIX/LINUXとかいてありませんでしたか?
もしくはコンパイルに
$cc XXXX
$gcc XXX
みたいになっていなっかたでしょうか?

windows用は参考URLをどうぞ

参考URL:http://www.katto.comm.waseda.ac.jp/~katto/Class/GazoTokuron/code/thread.html

Q~以外を削除する場合(rmコマンド)

linuxのコマンドで
~以外のファイル、ディレクトリを全て削除したい時は
どのような記述をすれば良いのでしょうか?
シェルスクリプトではなくrmコマンド1つで削除したのいですが…

例: tar以外のファイル・ディレクトリを
   すべて削除したい場合など

どなたかご存知の方がいらっしゃったら
教えてください。よろしくお願い致します。

Aベストアンサー

rm コマンドのみという訳にはいきませんが基本的なコマンドを組み合わせると実現可能と思います。

「名前が tar で終わるもの以外のファイル・ディレクトリを削除する」場合だと

ls | grep -v -E 'tar$' | xargs rm -r

となります。

ファイルの一覧を取得し ( ls )
'tar'で終わるもの以外を抽出し ( grep )
その結果を rm -r の引数に指定して実行 ( xargs )

という流れです。

ファイルを削除するような操作については失敗するとダメージが大きいので、事前にテストして動作を確認すると良いとおもいます。また rm -r -i としてそれぞれのファイルについて、削除の問い合わせをするのも有効です。

QUpdateData( FALSE); による文字列データの表示更新(VC++6.0)

VC++の超初心者です.

UpdateData( FALSE );
を用いてエディットボックスの文字列の表示の更新を
試みているのですが,たとえば,以下のコードのようにボタンをクリックした際に文字列表示の更新を複数回行おうとするとうまくいきません.
具体的には一回目のUpdateData( FALSE );が反映されず二回目のUpdateData( FALSE );のみ反映されるという症状です.

なおm_mojiretsuはCstring型でエディットボックスのDDX用の変数です.

void CMyDlg::OnButton1()
{
DWORD p;

m_mojiretsu=_T("mojirstu1");
UpdateData( FALSE );

/*5秒の待ち*/
p=timeGetTime();
while(1){if((timeGetTime()-p)>5000) break;}

m_mojiretsu=_T("mojirstu1\r\nmojirstu2");
UpdateData( FALSE );

}


何か別の処理を行わなければいけないのでしょうか.
どこかに根本的なミスがあるのでしょうか.

VC歴3日程度で,右も左も分からず大変困っております.よろしくお願いします.

VC++の超初心者です.

UpdateData( FALSE );
を用いてエディットボックスの文字列の表示の更新を
試みているのですが,たとえば,以下のコードのようにボタンをクリックした際に文字列表示の更新を複数回行おうとするとうまくいきません.
具体的には一回目のUpdateData( FALSE );が反映されず二回目のUpdateData( FALSE );のみ反映されるという症状です.

なおm_mojiretsuはCstring型でエディットボックスのDDX用の変数です.

void CMyDlg::OnButton1()
{
DWORD p;

m_mojiretsu=_T("mojirst...続きを読む

Aベストアンサー

m_mojiretsu=_T("mojiretsu1");
UpdateData(FALSE);
UpdateWindow(); // <- これを追加

/*5秒の待ち*/
...

とすれば、ひとまず期待どおりの動作になると思います。

# こうするよりは、OnButton1() では変数を書き換えるべしと言う
# 自前のコマンドメッセージを投げるだけで、すぐに戻った方が
# お行儀は良いのですが...
# そこいらへんは追々調べたり試したりしてみて下さい。

QLRESULTとHRESULT

身近でよく見かけるものに限ってなかなか探しても見つからないものなのですよね。

よくC++のプログラムで見かける
LRESULT型
HRESULT型
いったいどの様な型なのでしょうか?
どの様な時に使うのか教えてください。

Aベストアンサー

もう少しだけ補足。

ATLは、COM実装等に使うことを意識したライブラリなのでHRESULTとはなじみが深い。

そして、HRESULT(LRESULTも)は特にC++固有ということはなく
「Microsoftが定義したWindows開発用APIの一部」です。

COMやActiveX等はWindowsにおいてC++以外にも使いうるものであって、
C/C++用ヘッダでもその型定義があるに過ぎませんし、
UNIX等ではC++だったとしてもそんな型はまぁ使いません。

QDWORDの実際の型は何でしょうか

VC++.NETの環境です。
DOWRD dw1 = 1;
int i = 2; と定義し
ここで
if ( i > dw1 ){
何かの処理;
}
とコーディングすると
warning C4018: '>' : signed と unsigned の数値を比較しようとしました。
のワーニングがでます。
これは、DWORDがint型でなくunsigned int型のようにも見えます。
ある本によれば(VC++.V.NET逆引き大全500の極意)
DWORD はint型であると記述されています。
もし、int型ならこのワーニングはでないはずなのですが、
なぜでるのでしょうか。又、DWORDの実際の型は何なのでしょうか。ご存じのかたおりましたら、教えていただけませんでしょうか。

Aベストアンサー

型定義が知りたいのならば、宣言ファイルを見れば疑問を挟む余地もありません。
DWORD型はwindef.hで
"typedef unsigned long DWORD;"
と宣言されています。

Visual Studioを使っているのならば、知りたい型の上にマウスポインタを置いて右クリック、ポップアップメニューの「定義へ移動」または「宣言へ移動」で簡単に知ることが出来ます。


人気Q&Aランキング