Skip to content

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

Description

@WhuerLI

你好,你使用的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,

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions