Sabtu, 14 April 2012

Video
Text

VISUAL C++ No.2: Visual C++ error, error MSB4014, MSBuild.exe could not be launched, error LNK1168, error lnk110


Ada banyak hal yang memerlukan kerja keras saat kita memulai proses belajar pemrograman, mulai dari mencari tutorial, mencari API, mencari Documentation, hingga mencari KDE untuk editornya. Tidak hanya sampai disini, dalam penginstallan KDE pun kadang banyak kendala. Meskipun penginstallan berhasil tidak sedikit yang error saat memulai prosess pengkodean. Hal ini hampir terjadi pada semua pemula.

Sebetulnya banyak sekali pilihan editor untuk C++, ada 2 Editor terbaik saat ini yaitu Visual C++ dan Borland C++ (sekarang diakuisisi Embarcadero dan berganti nama RAD C++ XE atau Borland C++ versi 16).

Untuk KDE/Compiler kita disini akan menggunakan Microsoft Visual C++ , saat tutorial ini dibuat, versi untuk Visual C++ adalah Microsoft Visual C++ 2010 yang dibundled dengan Microsoft Visual Studio 2010. Software ini berukuran sangat besar untuk anda download, saya sarankan beli saja, banyak yang jual dengan harga murah. Anda dapat mensearch di kaskus.us atau di google.com.

Anda dapat juga menggunakan software bagus lain seperti Embarcadero C++ XE2 (sekarang) yang dibundled dengan Embarcadero RAD Studio XE2. Tapi sayangnya saya sendiri sudah mencari versi ini dan versi sebelumnya tapi belum ketemu siapa yang jual. Karena software ini juga tidak gratis.

Macam-macam error untuk pengguna Visual C++ 2010 versi awal:
A.)error MSB4014: Microsoft.Build.Exceptions.BuildAbortedException: Build was canceled. MSBuild.exe could not be launched as a child node as it could not be found at the location "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe". If necessary, specify the correct location in the BuildParameters, or with the MSBUILD_EXE_PATH environment variable.

Ada catatan penting untuk anda pengguna Visual C++ seperti saya terutama bila versi Visual C++ 2010 nya belum sp1, pasti nanti dalam beberapa kondisi akan error seperti dibawah ini saat sedang melakukan debug/build:


------ Build started: Project: preIncrement, Configuration: Debug Win32 ------
C:\Users\Tyler's\Desktop\CIS 270\preIncrement\preIncrement\preIncrement.vcxproj : error MSB4014: The build stopped unexpectedly because of an internal failure.
C:\Users\Tyler's\Desktop\CIS 270\preIncrement\preIncrement\preIncrement.vcxproj : error MSB4014: Microsoft.Build.Exceptions.BuildAbortedException: Build was canceled. MSBuild.exe could not be launched as a child node as it could not be found at the location "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe". If necessary, specify the correct location in the BuildParameters, or with the MSBUILD_EXE_PATH environment variable.
C:\Users\Tyler's\Desktop\CIS 270\preIncrement\preIncrement\preIncrement.vcxproj : error MSB4014: at Microsoft.Build.BackEnd.NodeManager.AttemptCreateNode(INodeProvider nodeProvider, NodeConfiguration nodeConfiguration)
C:\Users\Tyler's\Desktop\CIS 270\preIncrement\preIncrement\preIncrement.vcxproj : error MSB4014: at Microsoft.Build.BackEnd.NodeManager.CreateNode(NodeConfiguration configuration, NodeAffinity nodeAffinity)
C:\Users\Tyler's\Desktop\CIS 270\preIncrement\preIncrement\preIncrement.vcxproj : error MSB4014: at Microsoft.Build.Execution.BuildManager.PerformSchedulingActions(IEnumerable`1 responses)
C:\Users\Tyler's\Desktop\CIS 270\preIncrement\preIncrement\preIncrement.vcxproj : error MSB4014: at Microsoft.Build.Execution.BuildManager.HandleNewRequest(Int32 node, BuildRequestBlocker blocker)
C:\Users\Tyler's\Desktop\CIS 270\preIncrement\preIncrement\preIncrement.vcxproj : error MSB4014: at Microsoft.Build.Execution.BuildManager.IssueRequestToScheduler(BuildSubmission submission, Boolean allowMainThreadBuild, BuildRequestBlocker blocker)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Satu hal yang perlu kita garis bawahi adalah pada baris:

error MSB4014: Microsoft.Build.Exceptions.BuildAbortedException: Build was canceled. MSBuild.exe could not be launched as a child node as it could not be found at the location "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe". If necessary, specify the correct location in the BuildParameters, or with the MSBUILD_EXE_PATH environment variable.

Anda dapat menginstall solusi KB2298853 dari Microsoft website.

Untuk detail menganai KB2298853 dapat dilihat di: http://code.msdn.microsoft.com/Wiki/View.aspx?ProjectName=KB2298853
Sedangkan untuk download dan install dapat dilihat di: https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=31354&wa=wsignin1.0

Ini terjadi karena KDE (Visual C++) gagal dalam komunikasi dengan MSBuild dalam Framework Microsoft yang disebabkan oleh berbagai hal, seperti username windows anda melebihi 20 karakter, terpengaruh oleh avast shield, dan lain lain, untuk anda pengguna Framework yang sudah uptodate tidak perlu khawatir karena problem ini sudah teratasi.

Sebetulnya Visual C++ sendiri memiliki sebuah tool external yang dapat kita gunakan mengatasi hal seperti di atas. Yaitu dengan menggunakan Microsoft Visual Studio Command Prompt seperti pada screenshot di bawah ini.

Dan penggunaannya pun cukup mudah, anda tinggal mengetikkan code berikut sebagai ganti build pada KDE Visual C++ kemudian tekan enter.

msbuild “lokasi file sln yang ingin di build/debug”

Screenshot:


B.) fatal error LNK1168: cannot open D:\My Documents\COBA_CPLUS\HelloWorld\Debug\HelloWorld.exe for writing
Hal ini memang dilema saat menggunakan versi awal Visual C++ 2010. Problemnya adalah, saat kita ‘start debugging’, kemudian software telah terbuild, maka bila kita mengedit code kemudian ‘start debugging’ lagi akan terjadi error seperti diatas. Hal ini tidak akan terjadi setelah anda menunggu kira kira 4-5 menit. Seakan-akan ada program lain yang sedang menggunakan aplikasi yang baru saja kita build. Terkadang kita harus membuka Task Manager untuk melihat program mana yang menggunakan app kita.

Ada error lain yang juga kadang menyertai error ini yaitu error seperti berikut ini:
LINK : fatal error LNK1104: cannot open file 'D:\...\MyProj.exe'

Misalnya terjadi pada error code dibawah ini:
1>------ Build started: Project: MyProj, Configuration: Release Win32 ------
...
1>InitializeBuildStatus:
1> Creating "Release\MyProj.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>ClCompile:
1> All outputs are up-to-date.
1> SomeFile1.cpp
1>ResourceCompile:
1> All outputs are up-to-date.
1>LINK : fatal error LNK1104: cannot open file 'D:\...\MyProj.exe'
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:00.94
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Ada solusi efektif yang saya dapatkan dari komunitas Microsoft, yaitu dengan mengaktifkan “Application Experience” service caranya adalah sebagai berikut:

1.Cari Service Control pada computer anda, bila anda menggunakan Windows 7, anda dapat melihat gambar dibawah ini:
Pilih Start -> ketikkan ‘service’ pada Search Program and Files


2.Cari ‘Application Experience’ , secara default, startup type dari Application Experience adalah disabled, kemudian click kanan pilih properties dan pada Startup Type ganti saja menjadi manual. Done.

Note:
Disini kita menggunakan Visual C++ 2010 sebagai IDE nya, bila anda menggunakan IDE lain, semisal Embarcadero, GNU project, atau lainnya, silahkan menyesuaikan.

*Anda juga dapat menggunakan Visual C++ 2010 Express gratis dengan mendownload di situs Microsoft.


Please share bila tutorial ini cukup berbobot untuk anda!

MediaTutorial mengedepankan tutorial yang berkualitas. Semua penjelasan dipaparkan sedetail mungkin.
Please, bila tutorial ini membantu anda dan cukup berkualitas bagi anda mohon untuk share pada button sharing berikut ini.

Writen by: Okie Eko Wardoyo

Comments