PSO2が起動しない場合の1対処方

以下のランチャーのSTARTボタンを押しても別画面が表示されないでプログラムが終了する場合の1対処方法(私のケースでは解消したけど、他の人も解消されるかは不明)。

f:id:kuro1111:20190611225845p:plain

ランチャー

ググると話に出てくる、nguardがこけて起動しないのが原因なのは予測がついた。

対処方として、nguard関連のファイルやレジスタ、サービスをすべて削除して、PSO2のランチャーを起動、STARTボタンを押すことで、更新をかければよさそうだが、どのファイルやレジスタを削除すればよいか分からなかった。

GameGuardフォルダを消すや、レジストリを消す対処方法がググると載っていたので試したが解消されず。

結局、ダウンロードコーナー にある、nProtectGameGuardアンインストーラを使用することで、完全削除することができた。

(あと、Program Files (x86)\SEGA\PHANTASYSTARONLINE2\pso2_binにあるGameGuard.desとGameGuardフォルダも削除したかも)

その後、PCを再起動して、PSO2のランチャーを起動、STARTボタンを押すとプログラムが更新されて、起動することができた。

==========================

(2020/1 追記)

上記方法だけでは解決できない場合があった。
今回は、上記方法を実行する前にwindows updateと実施しておく必要があった。

 

 

 

 

 

VisualC++ Project System Package 正しく読み込まれませんでした

 

blogs.yahoo.co.jp

リンク先クローズしたので記載内容転記

Visual Studio 2015 Community版をインストールし、Visual C++のモジュール追加後、いきなり下記のエラーが出て、プロジェクトを作成できない。
 
イメージ 1
最悪だ。仕方なく「ActivityLog.xml」を見ると、下記の出力内容

LegacySitePackage failed for package [Visual C++ Project System Package]Source: 'Microsoft.VisualStudio.ProjectSystem.Utilities.v14.0' Description: MSBuild に "VCTargetsPath" プロパティの値が含まれていません。
Microsoft.VisualStudio.ProjectSystem.ProjectException: MSBuild に "VCTargetsPath" プロパティの値が含まれていません。 場所
Microsoft.VisualStudio.ProjectSystem.Utilities.ProjectErrorUtilities.ThrowProjectExceptionHelper(Exception innerException, String unformattedMessage, Object[] args) 場所
Microsoft.VisualStudio.ProjectSystem.Utilities.ProjectErrorUtilities.ThrowProjectException(String message) 場所
Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCPlatformExtensionService.<GetInstalledPlatformsAsync>d__13.MoveNext() --- 直前に例外がスローされた場所からのスタック トレースの終わり --- 場所
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 場所
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 場所
Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCProjectEngineShim.<ReadInstalledPlatformsAsync>d__242.MoveNext() --- 直前に例外がスローされた場所からのスタック トレースの終わり --- 場所
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 場所
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 場所
Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCProjectEngineShim.<>c__DisplayClass55_0.<<Initialize>b__0>d.MoveNext() --- 直前に例外がスローされた場所からのスタック トレースの終わり --- 場所
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 場所
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 場所
Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.ApartmentMarshaler.<>c__DisplayClass7_0.<<Invoke>b__0>d.MoveNext() --- 直前に例外がスローされた場所からのスタック トレースの終わり --- 場所
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 場所 Microsoft.VisualStudio.Threading.JoinableTask.CompleteOnCurrentThread() 場所
Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.ApartmentMarshaler.Invoke(Func`1 method) 場所
Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCProjectEngineShim.Initialize(IntPtr instResources, Object sp, Object browser, IVCBuildPackageInternal bldPkg)

 
はっきり言って良くわからない。とりあえず、「VCTargetsPath」っていう環境変数かプロパティ、レジストリが設定されいないからダメって感じぐらい。
ネットで検索したら、下記の投稿が手掛かりになりそうなので、参考に自分で試行錯誤してみた。
 
 
どうやら「VCTargetsPath」の設定場所は、レジストリですなぁ。
手掛かりからすると、下記の2箇所が該当すると推測できる。
・HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0
・HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\14.0
 
...で、レジストリエディタで見てみると、Wow6432Node側キーには「VCTargetsPath」のレジストリがない。
とりあえず、32bit側と同じ下記のレジストリを追加してみた(横線囲み内をテキストファイル「xxx.reg」として保存して、ファイルをダブルクリックすればレジストリ追加できます)。

Windows Registry Editor Version 5.00
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\14.0]
"VCTargetsPath"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V140\\'))"
"VCTargetsPath10"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath10)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\'))"
"VCTargetsPath11"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath11)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V110\\'))"
"VCTargetsPath12"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath12)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V120\\'))"
"VCTargetsPath14"="$([MSBuild]::ValueOrDefault('$(VCTargetsPath14)','$(MSBuildExtensionsPath32)\\Microsoft.Cpp\\v4.0\\V140\\'))"
 

64bit側の設定なのに「MSBuildExtensionsPath32」が混じっているのが気になるが、インストールしたVisual Studioには64bitのバイナリ等は含まれてなかったので無視。
 
うん、うまく行った!
原因とかはどうでもいいや、これでVisual C++を使えるようになって良かった。
 

 

ubuntuでopencv_contribとopencvをコンパイルする

opencv_contribはgitでcloneして、opencvsourceforgeからzipで持ってきてコンパイルしたがエラーが出た。最終的にopencvのバージョンと同じopencv_contribのtagをcheckouして使用したらコンパイル通った。

 

cmakeの引数

 cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules -D INSTALL_C_EXAMPLES=OFF  ..

メモ

[ 99%] Linking CXX shared module ../../lib/python3/cv2.cpython-35m-x86_64-linux-gnu.so
[ 99%] Built target opencv_python3
[100%] Linking CXX shared module ../../lib/cv2.so 

メモ

/usr/local/lib/python2.7/site-packages