コンパイルが 32 ビットを使用して行われたときに、リンカは 64 ライブラリを使用するように指示されたようです。
g++ への呼び出しは、コンパイルとリンクの両方を行います。両方を分割すると、デバッグが容易になります。例えば:
g++ -I./acml/pgi64_int64/include mainConsole.cpp -o mainConsole.o
g++ -L./acml/pgi64_int64/lib -lacml mainConsole.o -o mainConsole
fileを使用してライブラリを確認できます。私のシステムでは、次のようになります。
$ file /usr/lib/acml/gfortran/libacml.so
/usr/lib/acml/gfortran/libacml.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
コンパイルされたオブジェクトは同じでなければなりません:
$ file mainConsole.o
mainConsole.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped
問題は、あなた自身のプロジェクトの 32 ビット コンパイルか、ACML の "int64" バージョンの使用である可能性が高いです。int64 の詳細については、こちらを参照してください。非 int64 バージョンの ACML を試すことをお勧めします。たとえば、acml-5-3-1-pgi-64bit-int64.tgz をダウンロードする代わりに、acml-5-3-1-pgi-64bit.tgzをダウンロードします。