2017年10月7日土曜日

Embarcadero C++ Win32 link Error LME200






 自分への忘備録

 Embarcadero C++でWin32ビルドする際、突然リンクエラーが発生する場合がある。

このようなもの
[ilink32 Warning] Warning: unknown heap name   : 0x08000000 / 0x08000000 [ilink32 Warning] Warning: Error detected (LME200)

 link32.exeをLARGEアドレス対応にしてあげることで、対応するみたい。
コマンドプロンプトを管理者権限で起動し、以下のコマンドを実行することでリンクエラーは解消されました。

C:\Program Files (x86)\Embarcadero\Studio\19.0\bin>"c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\editbin.exe" /LARGEADDRESSAWARE ilink32.exe

かしこい人たちのおかげで助かりました。
それにしてもEmbarcaderoには悩まされます ・・・

2017年8月16日水曜日

RADStudio : paclient exited with code 1 (iOS)

かなり久しぶりの更新(仕事ネタは機密上書けないことが多いので ・・ )
 しかもTwitterは完全に自転車アカウントなどになっていて、この会社何なんだ?って状態になっている。笑って許してください。


BluetoothLEのデバイスを制御するアプリを作る必要があり、iOSとAndroidを別々に作るのも無駄なので Embarcadero RADStudio を採用してみた(と言っても一年前に購入してもらったものだが)。
 
Android版は思ったよりすんなり動いたので、次はiPhoneで ・・ そこでハマってしまった。


Embarcadero RADStudio でiOS アプリ開発を行う場合は、以下のように接続する。
Windows(RADStudio) ->  Mac(PAClient) -> iPhone

Windows上のRADStudioがMac上のPAClientを経由して、iPhoneの制御を行うことでデバッグできるようになっている。

いろいろと試していたら、突然デバッグができなくなってしまった!
実行しようとすると、RADStudioが 「paclient exited with code 1」と吐きだして、止まってしまう。

今更動かないと困る。評価できない!
RADStudioをアンインストール~新しいバージョンをインストール ・・ だめだ
パッチがあったので、あててみる ・・・ だめだ

Macはほとんど使ったことないので、よくわからないことも多い。
こんなことの繰り返しで、何日費やしたことやら。

Mac側のpaclient画面には /use/bin/security find-identity -v という表示が連発している。
ふっとMac側に「KeyChain」なるものを思い出した。

開いてみると、この中にEmbacadero開発関連のキーをいくつか発見。
ここにあったものをすべて削除して、RADStudioのMac接続関連設定を再設定すると、いとも簡単に動いた。

あとから気づけばこんなもんなのだが、こんなことにばかり時間がかかって、肝心のことはこれから。

BLEデバイス、Androidではすぐに接続できるのだが、iOSからはつながらない。
やっとこれから原因調査できるが、その前の段階で無駄な時間を使いすぎて嫌になってきた(涙)。