ホーム » 検索結果: GLUT

検索結果: GLUT

2025年7月
 12345
6789101112
13141516171819
20212223242526
2728293031  

カテゴリー

アーカイブ

ブログ統計情報

  • 118,738 アクセス




Linux での GLUT 3D データ表示

昨日のコードをもう少し汎用的に修正.そしてそれを他から呼出せるように変更.
次の様なコードで 3D データを生成して,GLUT で表示できる様にした.

bool	test	(void)
{
	Vd2A	pts ;
	{
		pts.push_back(Vd2(  0,  0)) ;
		pts.push_back(Vd2( 70,  0)) ;
		pts.push_back(Vd2( 90, 50)) ;
		pts.push_back(Vd2(100,100)) ;
		pts.push_back(Vd2( 50,100)) ;
		pts.push_back(Vd2( 30, 70)) ;
		pts.push_back(Vd2( 40, 30)) ;
		pts.push_back(Vd2(  0,  0)) ;
		}
	vv_PLF	vvplf ;
	{
		Vd3A	v3a = ::ToVd3A(pts) ;
		Vd4A	v4a = ::ToVd4A(v3a) ;
		PLF	plf_l__ (PLF::line,v4a) ;
		PLF	plf_f__ (PLF::face,v4a) ;
		v_PLF	v_plf ;
			v_plf.push_back(plf_l__) ;
			v_plf.push_back(plf_f__) ;
			vvplf.push_back(v_plf) ;
		}
	tstring	txt_name = ::g3_d_get_txt_name() ;
	{
		tstring	tmp_path = ::Get_i_Tools_tmp_date() ;
		tstring	ipl_name = ::Path_AddLastSP(tmp_path) + ::Now_Format(_T("%H%M%S")) + _T(".ipl") ;
		::To_ipl  (vvplf,ipl_name.c_str()) ;
		::SaveText(txt_name.c_str(),ipl_name) ;
		}
	{
		::exec_g3_d(txt_name.c_str()) ;
		}
	return	true ;
	}

g3_d_gl

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

GLUT を使用した 3D データの表示

個人的なメモです.
4 年位前に作成したコードで,凹多角形がうまく処理できていないものがあったのでその変更.

#include	"glut_cg.hxx"
#include	"gonsa_to.hxx"

#define		TIMING_DN	1000

//	int	_tmain	(int argc, _TCHAR* argv[])
int		main	(int argc,   char* argv[])
{
	{
		GonsA	gnsa ;
		{
			tstring	buf ;	buf.resize(1000) ;
			while (std::terr << _T("file ? =") , std::tin.getline(&buf[0],buf.size()))
			{
				tstring	str = buf.c_str() ;
				if 	(str == _T("q"))    {	break ;		}
				else if (str == _T("Q"))    {	break ;		}
				str = ::QuotM_Del_All(str) ;
				if (str.empty())            {	continue ;	}
				if (::File_IsNothing(str))  {	continue ;	}
				tstring	in_file = str ;
				gnsa = ::To_GonsA(in_file.c_str()) ;
				gnsa = ::GonsA_Triangulation(gnsa) ;		//	2023/06/27
				gnsa = ::GonsA_CalcNormal   (gnsa) ;		//	2023/06/27
				if (gnsa.size() > 0)        {	break ;		}
				}
			if (gnsa.size() == 0)           {	return	0 ;		}
			}
		::set_GonsA(gnsa) ;
		::set_Extent(::GonsA_GetExtent(gnsa)) ;
		}
	::glutInitWindowPosition(200,200) ;
	::glutInitWindowSize    (600,400) ;
	::glutInitDisplayMode   (GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH) ;
	::glutInit              (&argc,argv) ;
	::glutCreateWindow      (argv[0]) ;
	::glutReshapeFunc       (cv_resize) ;
	::glutDisplayFunc       (cg_display) ;
	::glutKeyboardFunc      (cv_keyboard) ;
	::glutMouseFunc         (cv_mouse) ;
	::glutMotionFunc        (cv_motion) ;
	::glutTimerFunc         (TIMING_DN,cv_timer,TIMING_DN) ;
	::cv_init               () ;
	{
		::glEnable(GL_LIGHTING) ;
		::glEnable(GL_LIGHT0) ;
		}
	::glutMainLoop          () ;
	return	0 ;
	}

#include	"messbar.cxx"

t_gl_b_3.cpp
t_gl_b_3.exe

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Fedora 34 で GLUT が動作しない?

仮想マシンの Fedora 32 を 34 に更新.
動作を確認していると,GLUT を使用した .out がうまく動作しない.
起動はしているが,ウィンドウが表示されない?
コンパイルなどはできている.
実行するとコンソールにはウィンドウを表示する前の部分は表示される.
いろいろやったがダメで,再起動.
Fedora 34 GLUT
うまく表示する様になった.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Win10 に GLUT インストール

2 年位前に Linux 環境 での GLUT はインストール した.
今回は Win10 環境に…


Windows GLUT」で検索すると…
なかなかうまく書かれているものが見つからない.
次の所は古いまま?
GLUT – The OpenGL Utility Toolkit
以前見た時は更新されていない様に思ったが…
freeglut
そこからのリンク
freeglut Windows Development Libraries
その中の freeglut 3.0.0 MSVC Package が欲しかったもの.


…/bin/freeglut.dll を c:\Windows\SysWOW64 にコピー.
また,glut32.dll の頃の exe も動作する様に …\SysWOW64\glut32.dll としてもコピー.
…/bin/x64/freeglut.dll は c:\Windows\System32 にコピー.
これで,以前作成した exe がそのまま動作することを確認.
glut32.dll  Pick05


glut.h と freeglut*.h は,次の …\PlatformSDK\include\gl にコピー.
VC 8 C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\Include\gl
VC 9 C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\gl
VC10 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\gl
VC11 C:\Program Files (x86)\Windows Kits\8.0\Include\um\gl
VC12 C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl
VC14 C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl
VC141 C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\gl
VC142 C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\gl


freeglut.lib は次の所にコピー.
C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\Lib
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib
C:\Program Files (x86)\Windows Kits\8.0\Lib\win8\um\x86 , x64
C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86 , x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x86 , x64
freeglut でビルドしたもの


2021/12/24
glut.h と freeglut*.h,freeglut.lib のコピー先は,お使いの環境によって異なります.
10.0.19041.0 は 2021/05 の頃での設定によるものです.
2021/05 での freeglut*.h freeglut.lib
2021/12 では,10.0.22000.0 にコピーする必要があります.
2021/12 の SDK バージョン


https://itl.mish.work/Iwao/Doc/algo/to_thick/glut.htm


2023/11/02
VC インクルードパスの確認方法


2024/07/25
サンプルのコードを用意.t_c_ut_2024_07_25.zip
glut を使用したサンプル
VC 6 ではそのままビルドできます.VC 2019 までは dsp からのアップグレード可能です.
Linux 環境では次の様に入力して a.out の出力が可能です.
g++ t_c_ut_1.cpp -lGL -lGLU -lglut
iPhone 3D プログラミング」にあるコードを使用しています.
iPhone 3D プログラミング

Is this 投稿 useful? Useful Useless 0 of 2 people say this 投稿 is useful.

GLUT でのメニュー

GLUT を使用してのテストコードで,起動後データを切替える方法がないかと…
メニューの利用で何とかできるか?


glutCreateMenu などで検索したがわかりやすい情報が少なかった.
https://seesaawiki.jp/w/mikk_ni3_92/d/%b4%f0%cb%dc%ca%d418
https://www.jstage.jst.go.jp/article/itej/67/5/67_417/_pdf
http://opengl.jp/glut/section06.html


以前作成した雛型に対して追加.メニュー部分はほぼリンク先のコードのまま.
https://jml.mish.work/index.php/cpp/cb-glut.html

#include	"glut_cb.hxx"
#include	<iostream>

void	cb_menu	(int val)
{
	std::cout << "menu val=" << val << std::endl ;
	}

int	main(int argc, char* argv[])
{
	::glutInitWindowPosition(200,100) ;
	::glutInitWindowSize	(600,400) ;
	::glutInitDisplayMode	(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH) ;
	::glutInit           	(&argc,argv) ;
	::glutCreateWindow   	(argv[0]) ;
	::glutReshapeFunc    	(cb_resize) ;
	::glutDisplayFunc     	(cb_display) ;
	::glutKeyboardFunc    	(cb_keyboard) ;
	::glutMouseFunc      	(cs_mouse) ;
	{
		::glutCreateMenu(cb_menu) ;
		::glutAddMenuEntry("name 1",1) ;
		::glutAddMenuEntry("name 2",2) ;
		::glutAddMenuEntry("name 3",3) ;
		::glutAttachMenu(GLUT_RIGHT_BUTTON) ;
		}
	::cb_init            	() ;
	::glutMainLoop      	() ;
	return	0 ;
	}

GLUT メニュー
結局はこの方法ではなく,予めリスト化して キー入力 により切り替える方法に.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

GLUT でテクスチャ表示

今度はテクスチャ.次の様なコードで面に貼り付け.

#include	"glut_cg.hxx"
#include	"gonsprmt.hxx"
#include	"i_dib_f.hxx"

i_DIB	tex_01 ;

int	main(int argc, char* argv[])
{
	{
		tstring	test_bmp = _T("./Tex01.bmp") ;
		//     	test_bmp = _T("/run/user/1000/gvfs/smb-share:server=ds116.local,share=web/i_Tools/Doc/blog/3D_Data/Tex01.bmp") ;
		#ifdef  _MSC_VER
		      	test_bmp = _T("//DS116/web/i_Tools/Doc/blog/3D_Data/Tex01.bmp") ;
		#endif
		tex_01 = ::DIB_Load(test_bmp.c_str()) ;
		}
	{
		GonsA	gnsa ;
		{
			Gons1	box = ::Gons_Box(Vd3(5,0,5)) ;
			box.SetColor(0xffffff) ;
			gnsa.push_back(box) ;
			}
		::set_GonsA(gnsa) ;
		::set_Extent(::GonsA_GetExtent(gnsa)) ;
		{
			C_glut*	gm = ::get_c_glut() ;
			gm->BG     = Vd4(0.9) ;
			gm->EP     = Vd3(0,-10,0) ;
			}
		}
	::glutInitWindowPosition(200,100) ;
	::glutInitWindowSize	(600,600) ;
	::glutInitDisplayMode	(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH) ;
	::glutInit           	(&argc,argv) ;
	::glutCreateWindow  	(argv[0]) ;
	::glutReshapeFunc   	(cv_resize) ;
	::glutDisplayFunc   	(cg_display) ;
	::glutKeyboardFunc  	(cv_keyboard) ;
	::glutMouseFunc   	(cv_mouse) ;
	::glutMotionFunc  	(cv_motion) ;
	::cv_init       	() ;
	{
		::glPixelStorei(GL_UNPACK_ALIGNMENT,1) ;
		::glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,tex_01.GetWidth(),tex_01.GetHeight(),0,GL_RGB,GL_UNSIGNED_BYTE,tex_01.GetP_Bits()) ;
		::glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST) ;
		::glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST) ;
		::glEnable(GL_TEXTURE_2D) ;
		}
	::glutMainLoop   	() ;
	return	0 ;
	}

::glTexImage2D の指定と Tex01.bmp の形式が合っていないため
GLUT でテクスチャ表示 間違った GL_RGB の指定でずれている
32 ビット色の画像なので ::glTexImage2D の GL_RGB を GL_RGBA に.
GLUT でのテスクチャ表示 R と B  が合っていない
色の順番が違うので ::glTexImage2D を見ると GL_BGRA_EXT があったのでこれを指定.
GLUT でテクスチャ表示 GL_BGRA_EXT を指定

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

GLUT でうまく表示されない?

以前作成した現在時刻を WebGL で表示するコードを GLUT を使用した方法に書き直し.
現在時刻を WebGL で表示
右側の面が正しく表示されていない.
GLUT での現在時刻の表示
見えない面を表示しない様に判断しているコードは次の様なもの.

{
	Vd3	ev = eye ;
	Vd3	nv ;
	Vd3	pt ;
	for (size_t fvIndex=0 ; fvIndex<pia.size() ; fvIndex++) {
		long	fVert = pia[fvIndex].x ;
		long	nVert = pia[fvIndex].y ;
		Vd3	n1 = ::Vx_get(nrms,nVert) ;
		Vd3	p1 = ::Vx_get(pnts,fVert) ;
		nv = nv + n1 ;
		pt = p1 ;
		}
	ev = ev - pt ;
	nv = nv.Normalized() ;
	ev = ev.Normalized() ;
	double	theta = ::deg(acos(nv.Dot(ev))) ;
	if (theta > 90)		{	continue ;	}
	}

原因は,描画用に与えている視点で目標点が加算されていなかったため.

void	draw(void)
{
	GonsA*	ga = get_GonsA() ;
	Vd3	eye = ::get_c_glut()->EP ;
	//	eye+= ::get_c_glut()->TP ;
	::GonsA_to_gl(*ga,eye) ;
	}

最終的にはこのあたり(C_glut)の見直しが必要.


https://itl.mish.work/Iwao/Doc/algo/to_thick/glut.htm

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

VC Linux で GLUT

GLUT を使用したコード
ビルドするとリンクでのエラーとなってしまう.

1>------ ビルド開始: プロジェクト: T_GL2, 構成: Debug x64 ------
1>ソースを検証します
1>リモートでソースを 'fedora' にコピーします
1>アーキテクチャを検証します
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Application Type\Linux\1.0\Linux.targets(184,5): warning : 配置で使用されるリモート システムに互換性のないプラットフォーム アーキテクチャ ('x64'、'ARM') があります。
1>アーキテクチャを検証します
1>リモート ビルドを開始しています
1>ソースをコンパイルします:
1>オブジェクトをリンクしています
1>/usr/bin/ld : error : /home/Iwao/projects/T_GL2/obj/x64/Debug/main.o: in function `idle()':
1>D:\Document\VS\VS\2019\T_Linux\T_GL2\main.cpp(51): error : undefined reference to `glutPostRedisplay'
1>/usr/bin/ld : error : /home/Iwao/projects/T_GL2/obj/x64/Debug/main.o: in function `display()':
1>D:\Document\VS\VS\2019\T_Linux\T_GL2\main.cpp(56): error : undefined reference to `glClear'
1>/usr/bin/ld : error : /home/Iwao/projects/T_GL2/main.cpp:63: undefined reference to `glMatrixMode'
1>/usr/bin/ld : error : /home/Iwao/projects/T_GL2/main.cpp:64: undefined reference to `glLoadIdentity'
1>/usr/bin/ld : error : /home/Iwao/projects/T_GL2/main.cpp:65: undefined reference to `gluLookAt'
1>/usr/bin/ld : error : /home/Iwao/projects/T_GL2/main.cpp:67: undefined reference to `glColor3d'
...
1>/usr/bin/ld : error : /home/Iwao/projects/T_GL2/main.cpp:165: undefined reference to `glutMainLoop'
1>collect2 : error : エラー: ld はステータス 1 で終了しました
1>プロジェクト "T_GL2.vcxproj" のビルドが終了しました -- 失敗。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

コマンドでの -l オプションにあたる指定が足りないため.
「リンカー」-「コマンドライン」-「追加のオプション」に以下を追加.
-lglut -lGL -lGLU
-l オプション
GLUT を使用した .out

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

GLUT インストール

ちょっと時間が空いたので,Linux 環境で GLUT を使える様にしてみた.
以前からお世話になっている次の所に詳しく書かれている.
GLUTによる「手抜き」OpenGL入門


Ubuntu , Debian ,Raspberry Pi では
  $ sudo apt install freeglut3 freeglut3-dev
Fedora では
  $ sudo dnf install freeglut
  $ sudo dnf install freeglut-devel


コンパイルは
  $ cc hello_gl.c -lglut -lGLU -lGL
GLUT を使用したサンプルのコンパイルと実行
https://jml.mish.work/index.php/cpp/install-glut.html


2019/08/17 本屋に寄ったらあったので購入.
GLUT/freeglutによるOpenGL入門


opengl.jp
The OpenGL Utility Toolkit (GLUT) Programming Interface API Version 3 日本語翻訳版


2021/05 Win10 に GLUT インストール


2025/06/16
$ sudo apt install freeglut3-dev


https://itl.mish.work/Iwao/Doc/algo/to_thick/glut.htm

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

xcode + glut

「Command Line Tool」としてプロジェクトを作成.
「GLUT」を追加.


10.9 になったこと?により出力される次の様なワーニングをでない様にするために 10.8 に.
/Users/Iwao/…/main.cpp:116:2: ‘glutInit’ is deprecated: first deprecated in OS X 10.9

インクルードパス設定場所は,「Build Settings」−「Search Paths」−「Header Search Paths」
glut.h のインクルードは以下の様にしている.
  #ifdef __APPLE_CC__
    #include <GLUT/glut.h>
  #else
    #include <GL/glut.h>
  #endif

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

VC でビルドできなくなった?

先日 VS 2022 のアップデートがあったので更新.
アップデート後のいつもの確認で,ツールのデバッグ版をビルドすると,いつまで経っても完了しない.
VC 2022  ビルドで完了しない
時々アップデートに失敗することがあるので,それかと思い,VC 2015 でビルドしても同様.
ここまでは 6/21 に確認.


VC 2005 でのビルドも完了しない.VC 6 では OK .
VC 2022 でダイアログベースで作成したスケルトンのままでも同様.
VC 2022 で,VB や C# のフォームアプリケーションはちゃんとビルドできる.
検索してもそれらしい情報には引っかからない.そうなると環境の問題か?


通常の MFC を使用したツール類は,今月に入ってからはビルドしていない.
.NET を利用した Web サーバは,インストールしている VC 2005 から 2022 すべてで 6/3 にビルドしている.
その後,VC 6 でのビルドは行っているが,VC 2022 などではビルドしていない?


先週までの影響しそうな変更などは次のようなもの.
NAS 環境に Dockerそのコンテナなどをインストール.
Windows Update 2025/06 .VS 2022 などのアップデート.
WSL はインストール済みだった.Docker Desktop のインストール.
Linux でもコンパイルできる様に,一部の共通のコードの修正.
VS 2022 のアップデート.


Web サーバのプロジェクトを VC 2005 と 2008 で再度ビルドすると,問題ない.VC 2010 はダメ.
VC 2005 で作成したダイアログベースのプロジェクトは 30 分程度かかるがビルドできた.


これらのことを考えると,ネットワークの問題か,インクルードの関係と思われる.
今まで長い間,インクルードの関係が次の様になっている.
VC 2010  インクルードなどの設定
今は使用していないパスの設定を整理して削除.
先日までの速度でビルドできるようになった.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

mount 先への書き込み

引き続き,環境をどうするか?
現状 Win32 の AP の開発は,次の様に分けている.
Server_TS : 共通のコード(_.SRC 以下)
Server_DS : プロジェクトのソースなど(AppWizard の生成物).
Server_AS : ビルド結果(*.obj,*.exe).
Win11 PC : 一時的なテスト用プロジェクトなど.
今まで,共通のコードは mount して,Linux 固有の部分はそれぞれの環境に置いていた.


Server_DS のテスト環境に,Win10 PC の仮想マシンにあった Linux 環境のファイルをコピー.
次の様に mount .
mount -t cifs //192.168.1.xx/Public/Temp/linux/gcc /home/wao/test/gcc …
コンパイルするとエラーになる.
g++ c84.cpp -lglut -lGL -lGLU
Linux  マウント先への書き込み
コンパイル時に sudo をつければ良い.
ソースの編集は,他環境からのことが多いので,これで良しとするか?


さらに調べていると,よくわからない状態に.
 fatal error: i_define.hxx: No such file or directory
sudo g++ src.cpp とするとエラーになってしまう.
PC の D ドライブにソースを入れた場合や,Linux 環境にコピーした場合などは OK .
PC の D ドライブのソースは OK


この1ページで一通りわかる!Linuxのマウント(mount)について
マウントしたディレクトリを一般ユーザー権限にする
LinuxでNTFSファイルシステムのマウントでアクセス権限やファイルの所有者変更で悩まないために

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Synology NAS で OpenMP

最近 Docker に関して調べていて,幾つか気になったことを整理.


以前,OpenMP に関して調べているが今の時点で整理すると,
Synology NAS DS220+ では実行可能,TS-253D と AS5202T では不可.
DS220+ でも,ビルドはできない.他の環境でビルドしたものをコピーして実行.
DS220+   find /user | grep libgomp
何れの環境でも omp.h が存在しないためビルドはできない.
DS220+ では libgomp.so が存在するので動作するみたい.
TS-253D では「libgomp.so がない」となってしまう.


当然のことではあるが,Docker など仮想環境を利用すれば可能になる.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Windows で Docker

Win11 環境での続き…
先日から NAS 環境でいろいろとやったので,ある程度すんなりできた.
dorowu/ubuntu-desktop-lxde-vnc を検索してインストール.
「Ubuntu Desktop with noVNC」
「dorowu/ubuntu-des…」を選択してインストール.
「RUN」して「Optional settings」を「↓」.
ポートを 60080 に
「Host port」に「60080」などと入力し「Run」.
60080:80 のリンクをクリック
「60080:80」のリンクをクリックするとブラウザが開く.
ブラウザの中でデスクトップが操作できる
gcc などをインストール.
GLUT を使用したコードビルドして動作することを確認.


Windows 10 homeでWSL2 + DockerDesktopでDocker環境を構築する手順
Comprehensive Guide to dorowu/ubuntudesktoplxdevnc:latest
Windows 11 + Docker + Linux開発の落とし穴
AIロボット入門2024:LXDEデスクトップ環境の使い方
【Docker】公式イメージでUbuntuデスクトップ構築手順

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Windows で Docker ?

Ubuntu と同様wsl ––install fedora で Fedora をインストールできた(この環境では既に入っている ).

Microsoft Windows [Version 10.0.26100.4349]
(c) Microsoft Corporation. All rights reserved.

C:\Users\Iwao\AppData\Local\Temp>wsl --install fedora
ダウンロードしています: Fedora Linux 42
インストールしています: Fedora Linux 42
指定された名前のディストリビューションは既に存在します。--name を使用して別の名前を選択してください。
エラー コード: Wsl/InstallDistro/Service/RegisterDistro/ERROR_ALREADY_EXISTS

C:\Users\Iwao\AppData\Local\Temp>

wsl --install fedora


gccglut などもインストール.
2014/09 の GLUT のコードを,2019/09 に a.out にしたものがあった.
Fedora から参照できるようにして,起動するとうまく動いた.
WSL 上の Fedora で glut の a.out を実行
ここまで特に何も考えないでやっていたが,Fedora 42 は最近になって WSL から簡単に利用できるようになったみたい.


Fedora in Windows Subsystem for Linux
WSL に標準で対応した Fedora 42 がリリースされたので試してみる(WSL 2 編)


2025/06/13
同様に Ubuntu で GLUT 関係をやったが,freeglut3 がインストールできない.freeglut3-dev は可能.

wao@B660M:~$ sudo apt install freeglut3
[sudo] password for wao:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package freeglut3
wao@B660M:~$ sudo apt install freeglut3-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libegl-dev libgl-dev libgl1-mesa-dev libgles-dev libgles1 libglu1-mesa libglu1-mesa-dev libglut-dev libglut3.12
  libglvnd-core-dev libglvnd-dev libglx-dev libice-dev libopengl-dev libopengl0 libpthread-stubs0-dev libsm-dev libx11-dev
  libxau-dev libxcb1-dev libxdmcp-dev libxext-dev libxt-dev x11proto-dev xorg-sgml-doctools xtrans-dev
Suggested packages:
  libice-doc libsm-doc libx11-doc libxcb-doc libxext-doc libxt-doc
The following NEW packages will be installed:
  freeglut3-dev libegl-dev libgl-dev libgl1-mesa-dev libgles-dev libgles1 libglu1-mesa libglu1-mesa-dev libglut-dev
  libglut3.12 libglvnd-core-dev libglvnd-dev libglx-dev libice-dev libopengl-dev libopengl0 libpthread-stubs0-dev libsm-dev
  libx11-dev libxau-dev libxcb1-dev libxdmcp-dev libxext-dev libxt-dev x11proto-dev xorg-sgml-doctools xtrans-dev
0 upgraded, 27 newly installed, 0 to remove and 3 not upgraded.
Need to get 2970 kB of archives.
After this operation, 12.7 MB of additional disk space will be used.
Do you want to continue? [Y/n]

apt install freeglut3


2019/09 の a.out は libglut.so.3 がないため実行できなかった.
libglut.so.3: cannot open shared object file: No such file or directory
GLUT を使用したコードは,Ubuntu 環境でビルドし直すことで起動できるようになった.
g++ c1032.cpp -lglut -lGL -lGLU


【初心者向け】WindowsにDockerをインストールする方法|Docker Desktop編


WSL(Windows Subsystem for Linux)向けにFedoraディストリビューション登場
How to install Fedora on WSL for Windows 10 and Windows 11
MicrosoftがWSLにFedora Linuxを追加、tarベース新アーキテクチャの採用でディストリビューション拡充へ
WSLg を使って Docker 上で GUI アプリを動かす(GPUサポート付き)

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

QNAP NAS で Docker

引き続き Docker の関係をいろいろと…
コンテナの「端末」を使用した操作はある程度わかったが,今度は GUI での操作.
Synology NAS でいろいろとやったが,よくわからず.そのため QNAP NAS で.
ubuntu desktop を使用して GLUT のコードが実行できるところまで確認


「Container Station」-「アプリテンプレート」で「Ubuntu Desktop with noVNC」を「デプロイ」.
「Container Station」-「アプリテンプレート」 「Ubuntu Desktop with noVNC」
「Container Station」-「コンテナ」で「ubuntu-desktop-lxde-vnc-1」の ↗ で起動できる.
「Container Station」-「コンテナ」で「ubuntu-desktop-lxde-vnc-1」の ↗


これと同じようなことを Synology NAS で行ったが,デスクトップを開く方法までたどり着けなかった.


QNAP NASでDocker(Container Stationを使用)
QNAP NASでRedmineを動かす
QNAP NASのContainerSation(Docker)であとから環境変数を追加する
QNAPでDockerレジストリサーバの作成
TWSNMP FC を QNAP NAS の Docker で 動作させる
やっぱりDockerって便利 QNAP TS-453Aで数クリックで「Aipo」を動かす
QNAP の Docker を使ってみる

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

MFC + System:: … ::ZipFile

先日から作成しているテスト exe で,ZIP に圧縮する動作を…
主要な exe では,izip.exe を呼出したり,シェルの機能を利用している.
ただ,同期のタイミングなど少し時間がかかるので,試しに直接呼出す方法に変更.


プロジェクトの設定で「共通言語ランタイム サポート (/clr)」に.
「共通言語ランタイム サポート (/clr)」に
そのままビルドすると
cl : コマンド ライン error D8016: コマンド ライン オプション ‘/ZI’ と ‘/clr’ は同時に指定できません
cl : コマンド ライン error D8016: コマンド ライン オプション ‘/clr’ と ‘/Gm’ は同時に指定できません
cl : コマンド ライン error D8016: コマンド ライン オプション ‘/clr’ と ‘/RTC1’ は同時に指定できません
T:\…\zip_CLI.hxx(16,9): fatal error C1107: アセンブリ ‘System.IO.Compression.dll‘ がみつかりませんでした: /AI または LIBPATH 環境変数を使用してアセンブリ検索パスを指定してください。
L:\Document\…\ComPrj01.cpp : fatal error C1128: セクションの数がオブジェクト ファイル形式の制限を超えています: /bigobj と共にコンパイルしてください
「プログラム データベース (/Zi)」に.
/Gm と /RTC1 は「<親またはプロジェクトの既定値から継承>」に.
「追加の #using ディレクトリ」を「C:\Windows\Microsoft.NET\Framework\v4.0.30319」に.
「C/C++」-「コマンド ライン」の「追加のオプション」に「 /bigobj 」の追加.


これでビルドはできる様になったが,あまり見慣れない warning が…
ComPrj01.obj : warning LNK4248: 未解決の typeref トークン (0100001B) (‘_TREEITEM’) です。イメージを実行できません。
ComPrj01.obj : warning LNK4248: 未解決の typeref トークン (0100001F) (‘GLUtesselator’) です。イメージを実行できません。
これに関しては,ちょっとわからず.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Ubuntu Linux Station

先日 Linux Station がうまく動作しなくなったように思ったが…
ファームアップデート後,試しに起動するとうまくいった.
先日は,メモリが足りなかったとかだったのか?


GLUT を使える様に インストール
sudo apt install freeglut3 freeglut3-dev
Ubuntu Lunux Station GLUT
ASUSTOR NAS Linux Center Debian 環境の a.out を実行.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

AS5202T 再セットアップ – 9

Linux Center を入れて Debian 10 Desktop をインストール.
AS5202T Linux Center
次のページを参考にさせてもらって日本語化.
https://www.server-world.info/query?os=Debian_10&p=japanese
WSLのDebian環境を日本語化する
sudo apt -y install task-japanese locales-all
sudo apt -y install task-japanese-desktop
再起動させて日本語になった.
AS5202T Debian 10 Desktop 日本語化


2020/05/05
gcc のインストール.
sudo apt install build-essential
glut のインストール.
sudo apt install freeglut3 freeglut3-dev
他によく使う tree のインストール.
sudo apt install tree
AS5202T Debian glut
https://dev.mish.work/wordpress/2019/08/16/glut-install/
https://jml.mish.work/index.php/cpp/install-glut.html
https://jml.mish.work/index.php/cpp/glut.html


2020/05/06
Debian の環境の実体は以下に存在している.
/volume1/.@plugins/AppCentral/linux-center/containers/debian10/rootfs/home/admin
AS5202T Linux Center  Debian10 rootfs

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Freespire 6 インストール

先日 Twitter で見かけてブックマークしておいたサイト.
https://www.freespirelinux.com/2020/02/freespire-60-released.html
2020/06/22 https://www.freespire.net/
時間が空いたので VirtualBox の環境にインストールしてみた.
ちょっと手順がわかりにくい部分があったのでメモ.


仮想マシンの作成.
仮想マシンの作成
仮想ハードディスクの作成.
仮想ハードディスクの作成
ダウンロードした freespire-6.iso を選択.
freespire-6.iso を選択
仮想マシンの起動.
仮想マシンの起動
起動するとこんな感じ.
Freespire  CD から起動したデスクトップ
デスクトップにある「Install freespire 18.04」を開いてインストール開始.
Freespire インストール
インストーラの起動後,一番下に「日本語」がある.あとは表示に従い操作すれば OK .
Freespire インストールを完了するために再起動


日本語のフォルダが幾つかできているので変更.
LANG=C xdg-user-dirs-gtk-update
フォルダの日本語名を変更


2020/05/06
glut インストール.
sudo apt install freeglut3 freeglut3-dev
Freespire glut インストール

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.