#include 和 #pragma comment 的相对路径起点

本文详细介绍了如何在项目中正确配置大华车牌识别仪的头文件和链接文件。通过对比#include与#pragmacomment的不同路径引用方式,帮助开发者理解其在工程目录结构中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include 是以当前文件所在路径为当前目录

#pragma comment 是以当前工程所在路径为当前目录

#include "../../../../ThirdParty/Include/REG/DH/dhnetsdk.h"
#pragma comment(lib, "../../ThirdParty/Lib/REG/DH/dhnetsdk.lib")

如上,大华车牌识别仪的头文件和链接文件都在项目解决方案目录下的ThirdParty目录,而相对引用时当前目录的起始位置是不同的。

转载于:https://www.cnblogs.com/mforestlaw/p/3794150.html

#include <uf_defs.h> #include <NXOpen/NXException.hxx> #include <NXOpen/Session.hxx> #include <NXOpen/BasePart.hxx> #include <NXOpen/DisplayableObject.hxx> #include <NXOpen/Expression.hxx> #include <NXOpen/ExpressionCollection.hxx> #include <NXOpen/MeasureManager.hxx> #include <NXOpen/Part.hxx> #include <NXOpen/PartCollection.hxx> #include <NXOpen/Point.hxx> #include <NXOpen/PointCollection.hxx> #include <NXOpen/Scalar.hxx> #include <NXOpen/ScalarCollection.hxx> #include <NXOpen/Session.hxx> #include <NXOpen/Sketch.hxx> #include <NXOpen/SmartObject.hxx> #include <NXOpen/Unit.hxx> #include <NXOpen/UnitCollection.hxx> #include "NXopenHxx.h" // We are currently testing removal of using namespace NXOpen. // Uncomment the below line if your journal does not compile. // using namespace NXOpen; #include "PK/parasolid_debug.h" #include "PK/parasolid_ifails.h" #include "PK/parasolid_kernel.h" #include "PK/parasolid_tokens.h" #include "PK/parasolid_typedefs.h" #pragma comment(lib,"PK/pskernel.lib") using namespace NXOpen; using namespace NXOpen::BlockStyler; // 尺寸标注数据结构(扩展包围框信息) struct DiamDimData { tag_t diamTag; Point2d position; // 标注中心 Point2d halfSize; // 包围盒半尺寸 Point2d lineStart; // 尺寸线起点 Point2d lineEnd; // 尺寸线终点 }; using GridKey = std::tuple<int, int>; struct GridHash { size_t operator()(const GridKey& k) const { auto hash_int = std::hash<int>(); size_t h1 = hash_int(std::get<0>(k)); size_t h2 = hash_int(std::get<1>(k)); return h1 ^ (h2 << 16) ^ (h2 >> 16); } }; class aTest { public: std::vector<DiamDimData> g_Dimensions; void aTest::creatDarwPoint(double point[2]); bool askCylEdges(tag_t faceListTag, double dimOrigin[3], tag_t cylEdgesTag); std::vector<tag_t> askCylEdges1(tag_t bodyTag, std::map<tag_t, Point3d>& mapDimPoint); NXObject* CreateBaseView(Point3d TopDwgPoint, double iScale, Direction* iDirection1, Direction* iDirection2); void pkFindBox(tag_t object_tag); void askBoxDist(std::vector<TaggedObject*> objs, bool isUsedCsys, double minCon[3], double maxCon[3], double zCenter[3], double dist[3]); bool createBlock_pk(double org[3], double dir[3][3], double dis[3], tag_t& body_tag); void createBox(std::vector<TaggedObject*> objs, double offset, bool isUsedCsys); double getMinDistInterop(tag_t obj1, tag_t obj2); void askDarwMinMaxPoint(tag_t bodySolid, tag_t point[5]); tag_t createHorizontalDim(tag_t dimPoint1, tag_t dimPoint2, tag_t draw_view_tag, double dimension3dOrigin[3]); tag_t createRadiusDim(tag_t dimCylDim1, tag_t drawViewTag, double ptStatus[2]); tag_t createDiameterDim(tag_t dimCylDim1, tag_t drawViewTag, double ptStatus[2]); tag_t createVerticalDim(tag_t dimPoint1, tag_t dimpoint2, tag_t drawViewTag, double dim3DOrigin[3]); vector<tag_t> GetInstanceBodies(tag_t compTag); double distanceToLineSegment(const Point2d& p, const Point2d& a, const Point2d& b); bool checkLineOverlap(const DiamDimData& dim, double minGap); void adjustOffDimensionLine(DiamDimData& dim, double minGap); void buildSpatialGrid(const std::vector<DiamDimData>& dimensions, std::unordered_map<GridKey, std::vector<size_t>, GridHash>& gridMap, double cellSize); bool checkOverlap(const DiamDimData& a, const DiamDimData& b, double minGap); //void buildSpatialGrid(const std::vector<DiamDimData>& dimensions, std::unordered_map<GridKey, std::vector<size_t>, GridHash>& gridMap, double cellSize); void adjustDimensionPositions(std::vector<DiamDimData>& dimensions, double minGap, int maxIterations); void removeDiamDim(tag_t cylDiamTag, Point2d reMovePoint); tag_t createDim(tag_t darwView, tag_t cylFaceTag, double dimOrigin[2]); }; 以上怎么安全的在其他cpp中调用
03-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值