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

编译时openMVG库出错,感觉是库的版本问题 #13

Open
WhuerLI opened this issue Oct 29, 2020 · 4 comments
Open

编译时openMVG库出错,感觉是库的版本问题 #13

WhuerLI opened this issue Oct 29, 2020 · 4 comments

Comments

@WhuerLI
Copy link

WhuerLI commented Oct 29, 2020

你好,你使用的openMVG库是多少版本的,我用1.6版本的openMVG库报如下错误:
In file included from /home/lc/UAVProduct/UAVProduct/UAVPreProcess.h:3:0,
from /home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:10:
/home/lc/UAVProduct/UAVProduct/UAVInterface.h:15:18: error: ‘Pair_Set’ in namespace ‘openMVG’ does not name a type
typedef openMVG::Pair_Set MatchesList;
^~~~~~~~
In file included from /home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:10:0:
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.h:80:19: error: ‘MatchesList’ does not name a type
const MatchesList & corresponding_indexes,
^~~~~~~~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.h:82:41: error: ‘MatchesList’ has not been declared
virtual UAVErr UAVProcessMatchesExport(MatchesList list,std::string pMatch);
^~~~~~~~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.h:83:41: error: ‘MatchesList’ has not been declared
virtual UAVErr UAVProcessMatchesImport(MatchesList &list,std::string pMatch);
^~~~~~~~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp: In member function ‘virtual UAVErr UAVProcessMatches::UAVProcessMatchesList(std::__cxx11::string, int, bool, std::__cxx11::string)’:
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:445:5: error: ‘MatchesList’ was not declared in this scope
MatchesList pose_pairs;
^~~~~~~~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:445:5: note: suggested alternative: ‘matchList’
MatchesList pose_pairs;
^~~~~~~~~~~
matchList
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:451:13: error: ‘pose_pairs’ was not declared in this scope
pose_pairs = openMVG::exhaustivePairs(sfm_data.GetViews().size());
^~~~~~~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:516:17: error: expected ‘;’ before ‘view_pair’
MatchesList view_pair;
^~~~~~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:517:35: error: ‘pose_pairs’ was not declared in this scope
for (const auto & pose_pair : pose_pairs)
^~~~~~~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:517:35: note: suggested alternative: ‘pose_pair’
for (const auto & pose_pair : pose_pairs)
^~~~~~~~~~
pose_pair
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:530:21: error: ‘view_pair’ was not declared in this scope
view_pair.insert(
^~~~~~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:538:9: error: ‘view_pair’ was not declared in this scope
if (view_pair.empty())
^~~~~~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:545:64: error: ‘view_pair’ was not declared in this scope
UAVProcessAdjacencyMatrixToSVG(sfm_data.GetViews().size(), view_pair,
^~~~~~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp: At global scope:
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:559:6: error: prototype for ‘void UAVProcessMatches::UAVProcessAdjacencyMatrixToSVG(size_t, const Pair_Set&, const string&)’ does not match any in class ‘UAVProcessMatches’
void UAVProcessMatches::UAVProcessAdjacencyMatrixToSVG(const size_t NbImages,
^~~~~~~~~~~~~~~~~
In file included from /home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:10:0:
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.h:79:15: error: candidate is: virtual void UAVProcessMatches::UAVProcessAdjacencyMatrixToSVG(size_t, const int&, const string&)
virtual void UAVProcessAdjacencyMatrixToSVG(const size_t NbImages,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:604:51: error: ‘UAVErr UAVProcessMatches::UAVProcessMatchesExport’ is not a static data member of ‘class UAVProcessMatches’
UAVErr UAVProcessMatches::UAVProcessMatchesExport(MatchesList list, std::string pMatch) {
^~~~~~~~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:604:51: error: ‘MatchesList’ was not declared in this scope
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:604:81: error: expected primary-expression before ‘pMatch’
ProcessMatches::UAVProcessMatchesExport(MatchesList list, std::string pMatch) {
^~~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:604:87: error: expression list treated as compound expression in initializer [-fpermissive]
ProcessMatches::UAVProcessMatchesExport(MatchesList list, std::string pMatch) {
^
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:613:51: error: ‘UAVErr UAVProcessMatches::UAVProcessMatchesImport’ is not a static data member of ‘class UAVProcessMatches’
UAVErr UAVProcessMatches::UAVProcessMatchesImport(MatchesList &list, std::string pMatch) {
^~~~~~~~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:613:51: error: ‘MatchesList’ was not declared in this scope
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:613:68: error: missing template arguments before ‘,’ token
UAVErr UAVProcessMatches::UAVProcessMatchesImport(MatchesList &list, std::string pMatch) {
^
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:613:82: error: expected primary-expression before ‘pMatch’
rocessMatches::UAVProcessMatchesImport(MatchesList &list, std::string pMatch) {
^~~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:613:88: error: expression list treated as compound expression in initializer [-fpermissive]
rocessMatches::UAVProcessMatchesImport(MatchesList &list, std::string pMatch) {
^
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp: In member function ‘virtual UAVErr UAVProcessFeatureSIFT::UAVProcessMatchesExtract(std::__cxx11::string, std::__cxx11::string)’:
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:720:89: error: no matching function for call to ‘openMVG::matching_image_collection::Matcher::Match(openMVG::sfm::SfM_Data&, std::shared_ptropenMVG::sfm::Regions_Provider&, openMVG::Pair_Set&, openMVG::matching::PairWiseMatches&)’
lectionMatcher->Match(sfm_data, regions_provider, pairs, map_PutativesMatches);
^
In file included from /usr/local/include/openMVG/matching_image_collection/Matcher_Regions.hpp:15:0,
from /home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:23:
/usr/local/include/openMVG/matching_image_collection/Matcher.hpp:38:16: note: candidate: virtual void openMVG::matching_image_collection::Matcher::Match(const std::shared_ptropenMVG::sfm::Regions_Provider&, const Pair_Set&, openMVG::matching::PairWiseMatchesContainer&, C_Progress*) const
virtual void Match(
^~~~~
/usr/local/include/openMVG/matching_image_collection/Matcher.hpp:38:16: note: no known conversion for argument 1 from ‘openMVG::sfm::SfM_Data’ to ‘const std::shared_ptropenMVG::sfm::Regions_Provider&’
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp: In member function ‘bool UAVProcessFeatureSIFTGpu::UAVImportFeatsToFile(std::__cxx11::string, std::vector&)’:
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:973:24: warning: format not a string literal and no format arguments [-Wformat-security]
printf(e.what());
^
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp: At global scope:
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:992:23: error: ‘MatchesList’ does not name a type
const MatchesList & map_Matches,
^~~~~~~~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp: In function ‘void PairMatchingToAdjacencyMatrixSVG(size_t, const int&, const string&)’:
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:996:23: error: request for member ‘empty’ in ‘map_Matches’, which is of non-class type ‘const int’
if ( !map_Matches.empty())
^~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:1004:47: error: request for member ‘find’ in ‘map_Matches’, which is of non-class type ‘const int’
auto iterSearch = map_Matches.find(std::make_pair(I,J));
^~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:1005:47: error: request for member ‘end’ in ‘map_Matches’, which is of non-class type ‘const int’
if (iterSearch != map_Matches.end())
^~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp: In member function ‘virtual UAVErr UAVProcessFeatureSIFTGpu::UAVProcessMatchesExtract(std::__cxx11::string, std::__cxx11::string)’:
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:1054:9: error: ‘MatchesList’ was not declared in this scope
MatchesList pairs;
^~~~~~~~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:1054:9: note: suggested alternative: ‘pMatchList’
MatchesList pairs;
^~~~~~~~~~~
pMatchList
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:1055:21: error: expected ‘;’ before ‘pairs_filter’
MatchesList pairs_filter;
^~~~~~~~~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:1056:60: error: ‘pairs’ was not declared in this scope
if(!openMVG::loadPairs(feature.size(), pMatchList, pairs))
^~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:1060:24: error: ‘pairs’ was not declared in this scope
int matchpairs=pairs.size();
^~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:1063:39: error: unable to deduce ‘auto&&’ from ‘pairs’
for ( const auto & cur_pair : pairs )
^~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:1069:50: error: ‘img2’ was not declared in this scope
sDesc2 = feature[img2].descs_out;
^~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:1069:50: note: suggested alternative: ‘img1’
sDesc2 = feature[img2].descs_out;
^~~~
img1
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:1086:17: error: ‘pairs_filter’ was not declared in this scope
pairs_filter.insert(std::make_pair(img1,img2));
^~~~~~~~~~~~
/home/lc/UAVProduct/UAVProduct/UAVPreProcess.cpp:1093:42: error: ‘pairs_filter’ was not declared in this scope
pairs_filter,

@RemoteSensingFrank
Copy link
Owner

RemoteSensingFrank commented Oct 29, 2020 via email

@WhuerLI
Copy link
Author

WhuerLI commented Oct 29, 2020

如果你能把配置的过程也更新下就更好了。(-v-)
感觉项目配置的指导文件有问题,我照着做遇到了N个包含路径的问题。

@RemoteSensingFrank
Copy link
Owner

RemoteSensingFrank commented Oct 29, 2020 via email

@WhuerLI
Copy link
Author

WhuerLI commented Oct 29, 2020

赞👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants