Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[libe57] build failure after successful installation #42338

Open
alexeygritsenko opened this issue Nov 24, 2024 · 0 comments
Open

[libe57] build failure after successful installation #42338

alexeygritsenko opened this issue Nov 24, 2024 · 0 comments
Assignees
Labels
category:port-bug The issue is with a library, which is something the port should already support

Comments

@alexeygritsenko
Copy link

alexeygritsenko commented Nov 24, 2024

Operating system

Windows 10 Pro x64

Compiler

Visual Studio 2022, vcpkg 2024-11-12-eb492805e92a2c14a230f5c3deb3e89f6771c321

Steps to reproduce the behavior

  1. vcpkg install libe57
  2. vcpkg integrate install
  3. Create C++ console project, and fill code
#include <iostream>
#include "e57/E57Foundation.h"
#include "e57/E57Simple.h"   

int main()
{
    e57::Reader eReader("C:\\temp\\input.e57");

	int 		scanIndex = 0;	//picking the first scan

	e57::Data3D	scanHeader;		//read scan's header information
	eReader.ReadData3D(scanIndex, scanHeader);

	//_bstr_t scanGuid = scanHeader.guid.c_str();		//get guid

	int64_t nColumn = 0;		//Number of Columns in a structure scan (from "indexBounds" if structure data)
	int64_t nRow = 0;			//Number of Rows in a structure scan	
	int64_t nPointsSize = 0;	//Number of points 
	int64_t nGroupsSize = 0;	//Number of groups (from "groupingByLine" if present)
	int64_t nCountsSize = 0;	//Number of points per group
	bool b123 = true;

	eReader.GetData3DSizes(scanIndex, nRow, nColumn, nPointsSize, nGroupsSize, nCountsSize, b123);

	int64_t nSize = (nRow > 0) ? nRow : 1024;	//Pick a size for buffers

	double* xData = new double[nSize];
	double* yData = new double[nSize];
	double* zData = new double[nSize];

	e57::CompressedVectorReader dataReader = eReader.SetUpData3DPointsData(
		scanIndex, 	//!< scan data index 
		nSize, 		//!< size of each of the buffers given
		xData, 		//!< pointer to a buffer with the x data
		yData, 		//!< pointer to a buffer with the y data
		zData);		//!< pointer to a buffer with the z data 


	unsigned long size = 0;
	while ((size = dataReader.read()) > 0)	//Each call to dataReader.read() will retrieve the next column of data.
	{
		for (unsigned long i = 0; i < size; i++)		//x,y,z Data buffers have the next column of data.
		{
			//Point p(xData[i], yData[i], zData[i]);	//access each point in the row
			std::cout << "X = " << xData[i] << "Y = " << yData[i] << "Z = " << zData[i] << '\n';
		}
	}

}
  1. Build failure
error LNK2019: unresolved external symbol "public: bool __cdecl e57::Reader::ReadData3D(int,class e57::Data3D &)const " (?ReadData3D@Reader@e57@@QEBA_NHAEAVData3D@2@@Z) referenced in function main

error LNK2019: unresolved external symbol "public: bool __cdecl e57::Reader::GetData3DSizes(int,__int64 &,__int64 &,__int64 &,__int64 &,__int64 &,bool &)const " (?GetData3DSizes@Reader@e57@@QEBA_NHAEA_J0000AEA_N@Z) referenced in function main

error LNK2019: unresolved external symbol "public: class e57::CompressedVectorReader __cdecl e57::Reader::SetUpData3DPointsData(int,__int64,double *,double *,double *,signed char *,double *,signed char *,unsigned short *,unsigned short *,unsigned short *,signed char *,double *,double *,double *,signed char *,int *,int *,signed char *,signed char *,double *,signed char *)const " (?SetUpData3DPointsData@Reader@e57@@QEBA?AVCompressedVectorReader@2@H_JPEAN11PEAC12PEAG3321112PEAH42212@Z) referenced in function main

fatal error LNK1120: 3 unresolved externals

error C1083: Cannot open include file: 'time_conversion.h': No such file or directory

In my opinion, this package has a problem with automatic integration, which leads to its build.

Failure logs

Build started at 10:59...
1>------ Build started: Project: ConsoleApplicationCpp7, Configuration: Debug x64 ------
1>ConsoleApplicationCpp7.cpp
1>ConsoleApplicationCpp7.obj : error LNK2019: unresolved external symbol "public: bool __cdecl e57::Reader::ReadData3D(int,class e57::Data3D &)const " (?ReadData3D@Reader@e57@@QEBA_NHAEAVData3D@2@@Z) referenced in function main
1>ConsoleApplicationCpp7.obj : error LNK2019: unresolved external symbol "public: bool __cdecl e57::Reader::GetData3DSizes(int,__int64 &,__int64 &,__int64 &,__int64 &,__int64 &,bool &)const " (?GetData3DSizes@Reader@e57@@QEBA_NHAEA_J0000AEA_N@Z) referenced in function main
1>ConsoleApplicationCpp7.obj : error LNK2019: unresolved external symbol "public: class e57::CompressedVectorReader __cdecl e57::Reader::SetUpData3DPointsData(int,__int64,double *,double *,double *,signed char *,double *,signed char *,unsigned short *,unsigned short *,unsigned short *,signed char *,double *,double *,double *,signed char *,int *,int *,signed char *,signed char *,double *,signed char *)const " (?SetUpData3DPointsData@Reader@e57@@QEBA?AVCompressedVectorReader@2@H_JPEAN11PEAC12PEAG3321112PEAH42212@Z) referenced in function main
1>C:\Users\Admin\Documents\Visual Studio 2022\Projects\ConsoleApplicationCpp7\x64\Debug\ConsoleApplicationCpp7.exe : fatal error LNK1120: 3 unresolved externals
1>C:\vcpkg\installed\x64-windows\include\e57\E57Simple.h(61,10): error C1083: Cannot open include file: 'time_conversion.h': No such file or directory
1>(compiling source file 'ConsoleApplicationCpp7.cpp')
1>Done building project "ConsoleApplicationCpp7.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Additional context

No response

@alexeygritsenko alexeygritsenko added the category:port-bug The issue is with a library, which is something the port should already support label Nov 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support
Projects
None yet
Development

No branches or pull requests

2 participants