1

I'm building V8 (on Windows, using Visual Studio 2013) as a shared library (.dll), and then linking to the resulting DLLs in another project. I'm building the "debug" version of v8, and the "debug" version of my own project.

However, when linking, I get warnings as follows:

1>v8_libbase.lib(bits.obj) : warning LNK4099: PDB 'vc120.pdb' was not found with 'v8_libbase.lib(bits.obj)' or at 'C:\MyWorkingDirectory\Debug\x86\vc120.pdb'; linking object as if no debug info
1>v8_libbase.lib(cpu.obj) : warning LNK4099: PDB 'vc120.pdb' was not found with 'v8_libbase.lib(cpu.obj)' or at 'C:\MyWorkingDirectory\Debug\x86\vc120.pdb'; linking object as if no debug info
1>v8_libbase.lib(logging.obj) : warning LNK4099: PDB 'vc120.pdb' was not found with 'v8_libbase.lib(logging.obj)' or at 'C:\MyWorkingDirectory\Debug\x86\vc120.pdb'; linking object as if no debug info
1>v8_libbase.lib(once.obj) : warning LNK4099: PDB 'vc120.pdb' was not found with 'v8_libbase.lib(once.obj)' or at 'C:\MyWorkingDirectory\Debug\x86\vc120.pdb'; linking object as if no debug info
1>v8_libbase.lib(time.obj) : warning LNK4099: PDB 'vc120.pdb' was not found with 'v8_libbase.lib(time.obj)' or at 'C:\MyWorkingDirectory\Debug\x86\vc120.pdb'; linking object as if no debug info
1>v8_libbase.lib(mutex.obj) : warning LNK4099: PDB 'vc120.pdb' was not found with 'v8_libbase.lib(mutex.obj)' or at 'C:\MyWorkingDirectory\Debug\x86\vc120.pdb'; linking object as if no debug info
1>v8_libbase.lib(semaphore.obj) : warning LNK4099: PDB 'vc120.pdb' was not found with 'v8_libbase.lib(semaphore.obj)' or at 'C:\MyWorkingDirectory\Debug\x86\vc120.pdb'; linking object as if no debug info
1>v8_libbase.lib(sys-info.obj) : warning LNK4099: PDB 'vc120.pdb' was not found with 'v8_libbase.lib(sys-info.obj)' or at 'C:\MyWorkingDirectory\Debug\x86\vc120.pdb'; linking object as if no debug info
1>v8_libbase.lib(random-number-generator.obj) : warning LNK4099: PDB 'vc120.pdb' was not found with 'v8_libbase.lib(random-number-generator.obj)' or at 'C:\MyWorkingDirectory\Debug\x86\vc120.pdb'; linking object as if no debug info
1>v8_libbase.lib(platform-win32.obj) : warning LNK4099: PDB 'vc120.pdb' was not found with 'v8_libbase.lib(platform-win32.obj)' or at 'C:\MyWorkingDirectory\Debug\x86\vc120.pdb'; linking object as if no debug info
1>v8_libplatform.lib(default-platform.obj) : warning LNK4099: PDB 'vc120.pdb' was not found with 'v8_libplatform.lib(default-platform.obj)' or at 'C:\MyWorkingDirectory\Debug\x86\vc120.pdb'; linking object as if no debug info
1>v8_libplatform.lib(task-queue.obj) : warning LNK4099: PDB 'vc120.pdb' was not found with 'v8_libplatform.lib(task-queue.obj)' or at 'C:\MyWorkingDirectory\Debug\x86\vc120.pdb'; linking object as if no debug info
1>v8_libplatform.lib(worker-thread.obj) : warning LNK4099: PDB 'vc120.pdb' was not found with 'v8_libplatform.lib(worker-thread.obj)' or at 'C:\MyWorkingDirectory\Debug\x86\vc120.pdb'; linking object as if no debug info

How can I resolve these warnings? I understand that LNK4099 cannot be suppressed.

I build v8 with the following nant code. I have tried to include only the pertinent parts of the build here.

            <!-- Generate the solution & project files using GYP -->
            <exec program="${path.python}" workingdir="${workingdir}">
                <arg value="build\gyp_v8" />
                <arg value="-Dtarget_arch=x64" if="${platform == 'x64'}" />
                <arg value="-Dcomponent=shared_library" /> <!-- Build dlls, not static-linking libs. -->
                <arg value="-Dv8_enable_i18n_support=false" /> <!-- Disable i18n, only so that we don't need to ship and link ICU binaries with v8. -->
                <arg value="-Dv8_use_snapshot=true" /> <!-- Snapshots are a desirable feature for performance, but disable snapshots if the resulting binary is unstable. Disabled in Node.js for stability. -->
                <arg line="-G msvs_version=2013" /> <!-- Produce VS2013 project files. http://bit.ly/1zfNGfc -->
            </exec>



        <!-- Build each of the important projects. -->
        <foreach item="String" in="v8,v8_libplatform" delim="," property="project">
            <echo message="Building project ${project}." />

            <!-- Invoke msbuild to build the project-->
            <exec program="${tool_msbuild}" workingdir="${workingdir}">
                <arg value="tools\gyp\${project}.vcxproj" />
                <arg value='/t:Build' />
                <arg value='/p:Configuration="${buildConfig}"' />
                <arg value="/p:Platform=${nativePlatform}" />
                <arg value="/p:BuildInParallel=true" />
                <arg value="/m" />
                <arg value="/nologo" />
            </exec>
        </foreach>

Each library produces its own, separate, "vc120.pdb", and (I think) I need to link against both "v8_libbase" and "v8_libplatform" to build my project, so unfortunately I cannot simply copy "vc120.pdb" to where visual studio will find it.

Community
  • 1
  • 1
Boinst
  • 3,365
  • 2
  • 38
  • 60

0 Answers0