本文整理汇总了C++中Project::AddLibrary方法的典型用法代码示例。如果您正苦于以下问题:C++ Project::AddLibrary方法的具体用法?C++ Project::AddLibrary怎么用?C++ Project::AddLibrary使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Project
的用法示例。
在下文中一共展示了Project::AddLibrary方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: projectFileName
//.........这里部分代码省略.........
{
// createProjFile is false here only if there is a .pld file with the
// user's chosen project name. If that is the case, we keep both files and
// let the user sort it out.
BString errMsg = B_TRANSLATE(
"Project file '%projectname%.pld' already exists. The "
"original file for this template is '%pldname%'. You'll need "
"to open the project folder and figure out which one you wish to keep.");
errMsg.ReplaceFirst("%projectname%", projectName);
errMsg.ReplaceFirst("%pldname%", pldName);
ShowAlert(errMsg);
populateProject = createProjFile = false;
finalPath = newPldNamePath;
}
else
if (oldPldNameEntry.Exists())
{
oldPldNameEntry.Rename(projectFileName.String());
populateProject = createProjFile = false;
finalPath = newPldNamePath;
}
}
if (createProjFile)
{
proj = Project::CreateProject(projectName.String(), targetName.String(),
projectType, projectPath.String(), createFolder);
if (proj)
finalPath = proj->GetPath();
}
else
{
proj = new Project();
if (proj->Load(finalPath.GetFullPath()) != B_OK)
{
delete proj;
return NULL;
}
}
}
else
{
// This case is for stuff like the Quick Import feature
proj = Project::CreateProject(projectName.String(), targetName.String(),
projectType, projectPath.String(), createFolder);
}
if (!proj)
return NULL;
scm_t detectedSCM = DetectSCM(projectPath);
proj->SetSourceControl(detectedSCM == SCM_NONE ? (scm_t)scmType : detectedSCM);
gCurrentProject = proj;
gProjectList->Lock();
gProjectList->AddItem(proj);
gProjectList->Unlock();
BRect r(0,0,200,300);
/*
r.OffsetTo(gProjectWindowPoint);
gProjectWindowPoint.x += 25;
gProjectWindowPoint.y += 25;
if (gProjectWindowPoint.x < 0)
gProjectWindowPoint.x = 0;
if (gProjectWindowPoint.y < 0)
gProjectWindowPoint.y - 0;
*/
ProjectWindow *projwin = new ProjectWindow(r,gCurrentProject);
projwin->Show();
BEntry entry(gCurrentProject->GetPath().GetFullPath());
if (entry.InitCheck() == B_OK)
{
entry_ref newprojref;
entry.GetRef(&newprojref);
UpdateRecentItems(newprojref);
}
if (populateProject)
{
entry_ref addRef;
int32 i = 0;
while (settings.FindRef("libs",i++,&addRef) == B_OK)
{
if (BEntry(&addRef).Exists())
proj->AddLibrary(DPath(addRef).GetFullPath());
}
i = 0;
BMessage addMsg(M_IMPORT_REFS);
while (settings.FindRef("refs",i++,&addRef) == B_OK)
addMsg.AddRef("refs",&addRef);
PostToProjectWindow(&addMsg,NULL);
}
return proj;
}
示例2: name
Project *
Project::CreateProject(const char *projname, const char *target, int32 type, const char *path,
bool create_folder)
{
BString name(projname), targetname(target);
if (name.CountChars() < 1)
name = "Untitled";
if (targetname.CountChars() < 1)
name = "BeApp";
Project *newproj = new Project(name.String(),targetname.String());
newproj->SetTargetType(type);
newproj->AddLocalInclude(".");
newproj->AddSystemInclude("/boot/develop/headers/be");
newproj->AddSystemInclude("/boot/develop/headers/cpp");
newproj->AddSystemInclude("/boot/develop/headers/posix");
newproj->AddSystemInclude("/boot/home/config/include");
newproj->AddLibrary("/boot/develop/lib/x86/libroot.so");
newproj->AddGroup("Source Files");
switch (type)
{
case PROJECT_GUI:
{
newproj->AddLibrary("/boot/develop/lib/x86/libbe.so");
// Having to manually add this one is terribly annoying. :/
if (DetectPlatform() == PLATFORM_HAIKU_GCC4)
newproj->AddLibrary("/boot/develop/lib/x86/libsupc++.so");
break;
}
case PROJECT_DRIVER:
{
newproj->AddLibrary("/boot/develop/lib/x86/_KERNEL_");
break;
}
case PROJECT_CONSOLE:
case PROJECT_SHARED_LIB:
case PROJECT_STATIC_LIB:
default:
break;
}
BPath projpath(path);
if (create_folder)
{
projpath.Append(name.String());
if (!BEntry(projpath.Path()).Exists());
create_directory(projpath.Path(),0777);
}
BString filename(newproj->GetName());
filename << ".pld";
projpath.Append(filename.String());
newproj->Save(projpath.Path());
return newproj;
}